CN104363463B - 一种视频处理方法、装置及系统 - Google Patents

一种视频处理方法、装置及系统 Download PDF

Info

Publication number
CN104363463B
CN104363463B CN201410645198.9A CN201410645198A CN104363463B CN 104363463 B CN104363463 B CN 104363463B CN 201410645198 A CN201410645198 A CN 201410645198A CN 104363463 B CN104363463 B CN 104363463B
Authority
CN
China
Prior art keywords
bit rate
video file
transcoded
file
transcoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410645198.9A
Other languages
English (en)
Other versions
CN104363463A (zh
Inventor
楼英明
魏洪钦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Boan Technology Co.,Ltd.
Original Assignee
Ability Sky Technology (beijing) Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ability Sky Technology (beijing) Ltd filed Critical Ability Sky Technology (beijing) Ltd
Priority to CN201410645198.9A priority Critical patent/CN104363463B/zh
Publication of CN104363463A publication Critical patent/CN104363463A/zh
Application granted granted Critical
Publication of CN104363463B publication Critical patent/CN104363463B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种视频处理方法、装置及系统,用于主机端,用以提高视频转码的效率及均衡控制每个视频的最终码率。所述方法包括:获取待转码的视频文件;获取被标记为空闲状态的协助端;确定待转码的视频文件的目标码率;将所述待转码的视频文件及所述目标码率发送给所述协助端,并且将所述协助端标记为占用状态,所述协助端用于将待转码的视频文件的码率转换为所述目标码率;接收所述协助端发送的转码后的视频文件。

Description

一种视频处理方法、装置及系统
技术领域
本发明涉及互联网技术领域,特别涉及一种视频处理方法、装置及系统。
背景技术
作为视频的提供来说,其提供的视频类型、视频场景是千变万化的。作为视频的观看者来说,观看视频时的接入带宽与接入网络也是不同的。为了适应用户的观看需要,通常会将视频的最终码率控制适合的范围内。
现有的视频转码技术是一台终端单独完成一个或多个视频的转码,由于有大量的视频需要转码,因此,一台终端一次需要转码多个视频,这些视频的场景、视频的原始码率都不相同,而终端转码的标准是相同的,这就造成了转码后的视频的码率参差不齐,一些视频的码率过高,一些视频的码率过低,而过低码率的视频所能提供的观看效果并不能达到观看者的要求。而且,由于是由一台终端一次转码多个视频,加大了终端的负荷,不能充分利用终端的闲散的计算处理能力,延长了转码所需的时间,使视频转码的效率过低。
发明内容
本发明提供一种视频处理方法、装置及系统,用以提高视频转码的效率及均衡控制每个视频的最终码率。
本发明提供一种视频处理方法,用于主机端,包括:获取待转码的视频文件;获取被标记为空闲状态的协助端;确定待转码的视频文件的目标码率;将所述待转码的视频文件及所述目标码率发送给所述协助端,并且将所述协助端标记为占用状态,所述协助端用于将待转码的视频文件的码率转换为所述目标码率;接收所述协助端发送的转码后的视频文件。
通过主机端将待转码的视频文件及目标码率分配给协助端,使协助端将待转码的视频文件的码率转换为目标码率,并且同一协助端同时只转码一个视频文件。可以充分利用协助端的计算处理能力,提高了视频的转码效率,并且统一的目标码率可以均衡控制每个视频的最终码率。
当所述被标记为空闲状态的协助端有至少两个时,所述将所述待转码的视频文件及所述目标码率发送给所述协助端,包括:以处理速度从快到慢的顺序排列至少两个所述协助端;将所述待转码的视频文件及所述目标码率发送给处理速度最快的协助端。
将待转码的视频文件优先分配给转码速度快的协助端。可以充分利用处理速度快的协助端的计算处理能力,有效的提高了视频的转码效率。
所述确定待转码的视频文件的目标码率,包括:计算已转码完成的视频文件的平均码率;根据预设的初始码率和预设的浮动率,确定初始码率的浮动范围;确定所述平均码率与初始码率的浮动范围之间的关系;当所述平均码率大于所述初始码率的浮动范围中的最大值时,减小初始码率,使得平均码率位于初始码率的浮动范围内,并确定减小后的初始码率为目标码率;当所述平均码率小于所述初始码率的浮动范围中的最小值时,增大初始码率,使得平均码率位于初始码率的浮动范围内,并确定增大后的初始码率为目标码率;当所述平均码率位于初始码率的浮动范围内时,确定所述初始码率为目标码率。
通过已处理完的视频的平均码率确定本次待转码的视频的目标码率。使本次转码完成后的视频的平均码率控制在初始码率的浮动范围内,使每个完成转码的视频文件的码率相差不大,并且都可以取得良好的观看效果。达到了均衡控制每个视频的最终码率的目的。
所述方法还包括:获取所述待转码的视频文件的文件大小;判断所述文件大小是否大于预设阈值;当所述视频文件的大小大于预设阈值时,将所述视频文件分割为n份分割文件,其中,n=X/Y+1,所述X为所述文件大小,所述Y为所述预设大小;将所述n份分割文件分配给处于空闲状态的n个协助端;接收所述n个协助端发送的转码后的分割文件;组合所述转码后的分割文件得到转码后的视频文件。
通过将大的视频文件分割为小的视频文件,并分别对小的视频文件进行转码,再将转码后的小的视频文件组合为转码后的大的视频文件。由于单个文件的转换效率取决于具体协助的处理能力,对占用存储空间大的单个视频文件,只能通过增加占用资源提高协助端的转码能力。因此将大的视频文件分割成几个小的视频文件,多个协助端同时转码一个大的视频文件的不同部分,可以大大的缩短一个协助端转码相同大小的视频文件所需的时间,进一步提高了视频转码的效率。
一种视频处理装置,用于主机端,包括:第一获取模块,用于获取待转码的视频文件;第二获取模块,用于获取被标记为空闲状态的协助端;确定模块,用于确定待转码的视频文件的目标码率;发送模块,用于将所述待转码的视频文件及所述目标码率发送给所述协助端,并且将所述协助端标记为占用状态,所述协助端用于将待转码的视频文件的码率转换为所述目标码率;接收模块,用于接收所述协助端发送的转码后的视频文件。
所述发送模块,包括:排序单元,用于当所述被标记为空闲状态的协助端有至少两个时,以处理速度从快到慢的顺序排列至少两个所述协助端;发送单元,用于将所述待转码的视频文件及所述目标码率发送给处理速度最快的协助端。
所述确定模块,包括:计算单元,用于计算已转码完成的视频文件的平均码率;第一确定单元,用于根据预设的初始码率和预设的浮动率,确定初始码率的浮动范围;第二确定单元,用于确定所述平均码率与初始码率的浮动范围之间的关系;当所述平均码率大于所述初始码率的浮动范围中的最大值时,减小初始码率,使得平均码率位于初始码率的浮动范围内,并确定减小后的初始码率为目标码率;当所述平均码率小于所述初始码率的浮动范围中的最小值时,增大初始码率,使得平均码率位于初始码率的浮动范围内,并确定增大后的初始码率为目标码率;当所述平均码率位于初始码率的浮动范围内时,确定所述初始码率为目标码率。
所述装置还包括:第三获取模块,用于获取所述待转码的视频文件的文件大小;判断模块,用于判断所述文件大小是否大于预设阈值;分割模块,用于当所述视频文件的大小大于预设阈值时,将所述视频文件分割为n份分割文件,其中,n=X/Y+1,所述X为所述文件大小,所述Y为所述预设大小;分配模块,用于将所述n份分割文件分配给处于空闲状态的n个协助端;第二接收模块,用于接收所述n个协助端发送的转码后的分割文件;组合模块,用于组合所述转码后的分割文件得到转码后的视频文件。
一种视频处理系统,包括:主机端,用于获取待转码的视频文件;获取被标记为空闲状态的协助端;确定待转码的视频文件的目标码率;将所述待转码的视频文件及所述目标码率发送给所述协助端,并且将所述协助端标记为占用状态,所述协助端用于将待转码的视频文件的码率转换为所述目标码率;接收所述协助端发送的转码后的视频文件;协助端,用于在空闲状态时,接收主机端发送来的待转码的视频文件及所述目标码率,将待转码的视频文件的码率转换为所述目标码率,将转码后的视频文件发送给主机端。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为一种视频处理方法的流程图。
图2为本发明实施例一中视频处理方法的流程图。
图3为本发明实施例二中视频处理方法的流程图。
图4为本发明实施例三中视频处理方法的流程图。
图5为本发明实施例中一种视频处理装置的结构图。
图6为本发明实施例中一种视频处理装置中发送模块的结构图。
图7为本发明实施例中一种视频处理装置中确定模块的结构图。
图8为本发明实施例中另一种视频处理装置的结构图。
图9为本发明实施例中一种视频处理系统结构的示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
如图1所示,本发明实施例提供了一种视频处理方法,用于主机端,主机端可以是服务器。具体的实施步骤如下101-105:
在步骤101中,获取待转码的视频文件。
在步骤102中,获取被标记为空闲状态的协助端。
在步骤103中,确定待转码的视频文件的目标码率。
在一个实施例中,步骤103可被实施为步骤A1-A6:
步骤A1、计算已转码完成的视频文件的平均码率;
步骤A2、根据预设的初始码率和预设的浮动率,确定初始码率的浮动范围;
步骤A3、确定平均码率与初始码率的浮动范围之间的关系,当平均码率大于初始码率的浮动范围中的最大值时,执行步骤A4;当平均码率小于初始码率的浮动范围中的最小值时,执行步骤A5;当平均码率位于初始码率的浮动范围内时,执行步骤A6;
步骤A4、当平均码率大于初始码率的浮动范围中的最大值时,减小初始码率,使得平均码率位于初始码率的浮动范围内,并确定减小后的初始码率为目标码率;
步骤A5、当平均码率小于初始码率的浮动范围中的最小值时,增大初始码率,使得平均码率位于初始码率的浮动范围内,并确定增大后的初始码率为目标码率;
步骤A6、当平均码率位于初始码率的浮动范围内时,确定初始码率为目标码率。
通过已处理完的视频的平均码率确定本次待转码的视频的目标码率。使本次转码完成后的视频的平均码率控制在初始码率的浮动范围内,使每个完成转码的视频文件的码率相差不大,并且都可以取得良好的观看效果。达到了均衡控制每个视频的最终码率的目的。
在步骤104中,将待转码的视频文件及目标码率发送给协助端,并且将协助端标记为占用状态,协助端用于将待转码的视频文件的码率转换为目标码率。
在一个实施例中,步骤104可被实施为:当被标记为空闲状态的协助端有至少两个时,以处理速度从快到慢的顺序排列至少两个协助端;将待转码的视频文件及目标码率发送给处理速度最快的协助端。将待转码的视频文件优先分配给转码速度快的协助端,可以充分利用处理速度快的协助端的计算处理能力,有效的提高了视频的转码效率。
在步骤105中,接收协助端发送的转码后的视频文件。
本发明实施例提供了一种视频处理方法,通过主机端将待转码的视频文件及目标码率分配给协助端,使协助端将待转码的视频文件的码率转换为目标码率,可以充分利用协助端的计算处理能力,提高了视频的转码效率,并且统一的目标码率可以均衡控制每个视频的最终码率。
在一个实施例中,该方法还可包括以下操作B1-B6:
步骤B1、获取待转码的视频文件的文件大小;
步骤B2、判断文件大小是否大于预设阈值,当视频文件的大小大于预设阈值时,执行步骤B3;当视频文件的大小等于或小于预设阈值时,执行步骤102-步骤105。
步骤B3、当视频文件的大小大于预设阈值时,将视频文件分割为n份分割文件,其中,n=X/Y+1,X为文件大小,Y为预设大小;
步骤B4、将n份分割文件分配给处于空闲状态的n个协助端;
步骤B5、接收n个协助端发送的转码后的分割文件;
步骤B6、组合转码后的分割文件得到转码后的视频文件。
通过将大的视频文件分割为小的视频文件,并分别对小的视频文件进行转码,再将转码后的小的视频文件组合为转码后的大的视频文件。由于单个文件的转换效率取决于具体协助的处理能力,对占用存储空间大的单个视频文件,只能通过增加占用资源提高协助端的转码能力。因此将大的视频文件分割成几个小的视频文件,多个协助端同时转码一个大的视频文件的不同部分,可以大大的缩短一个协助端转码相同大小的视频文件所需的时间,进一步提高了视频转码的效率。
下面通过具体的实施例来说明通过主机端与协助端配合提高转码效率及均衡各转码视频的码率。
实施例一
如图2所示,本发明实施例提供了一种视频处理方法,具体实施步骤如下:
在步骤201中,检查是否有待转码的视频文件,如果有待转码的视频文件,则执行步骤202;如果没有待转码的视频文件,则结束流程。
在步骤202中,获取待转码的视频文件。
在步骤203中,从参与转换的协助端中选择空闲状态的协助端,并将待转码的视频文件与被选中的协助端建立关联,并将被选的协助端标记为占用状态。如果设置主机端参与转码,则该协助端也可以是主机端。
当被标记为空闲状态的协助端有至少两个时,从参与转换的协助端中选择空闲状态的协助端的步骤:以处理速度从快到慢的顺序排列至少两个协助端;将待转码的视频文件及目标码率发送给处理速度最快的协助端。
协助端使用的CPU越多,转码视频文件的速度越快,则协助端处理周期越短,选择处理速度快的协助端进行转码,可以确保处理能力强、处理速度快的协助端能承担更多的视频文件的转码工作。
只选择空闲状态的协助端进行转码,可以确保每个协助端每次只转码一个视频文件,可以获得协助端最优的转换能力,确保协助端在最优的环境下进行转码,保证了整体的转码效率。
在步骤204中,将待转码的视频文件及该待转码的视频文件目标码率发送给协助端,并更新发送进度。如果待转码的视频文件发送成功,则执行步骤206;如果待转码的视频文件发送失败,则执行步骤205。
在步骤205中,如果待转码的视频文件发送失败,结束待转码视频文件与该协助端之间的关联。待转码的视频文件发送失败,说明主机端与协助端之前出现网络连接问题,回收待转码的视频文件,等待重新分配给其他协助端进行转码。
在步骤206中,如果待转码的视频文件发送成功,实时接收并显示协助端发送的转码进度及码率。如果待转码的视频文件转换失败,则执行步骤207;如果待转码的视频文件转换成功,则执行步骤208。
在步骤207中,如果待转码的视频文件转换失败,结束待转码的视频文件与该协助端之间的关联。回收待转码的视频文件,等待重新分配给其他协助端进行转码,并将该协助端设置为空闲状态。
在步骤208中,如果待转码的视频文件转换成功,接收协助端发送的转码完成的视频文件。
在步骤209中,实时更新转码完成的视频文件的接收进度,如果接收视频文件成功,则执行步骤211,如果接收视频文件失败,则执行步骤210;
在步骤210中,如果接收视频文件失败,结束待转码视频文件与该协助端之间的关联,回收待转码的视频文件。如果接收视频文件失败,说明协助端与主机端发生网络连接问题,回收待转码的视频文件,等待重新分配给其他协助端进行转码。
在步骤211中,如果接收视频文件成功,上传转码完成的视频文件,结束待转码视频文件与该协助端之间的关联,将该协助端设置为空闲状态。
在本实施例一中,为转码视频文件需要耗费大量内存及CPU资源,主机端需要承担文件分发,上传等工作,因此,需要预留资源,默认不参与转换任务。协助端主要用于转码视频文件的工作,默认预留一些内存及CPU资源用于视频文件的接收及发送的工作,则其余资源用于文件处理。可以确保主机端及协助端能预留设定的计算资源给别的必需的工作,而不全部耗费在视频转码上。
待转码的视频文件通常高达4、5G,本发明实施例一可以充分利用主机端与协助端之间的网络带宽,确保文件传输的时间最短。
在本实施例一中,通过主机端将待转码的视频文件及目标码率分配给协助端,使协助端将待转码的视频文件的码率转换为目标码率,并且同一协助端同时只转码一个视频文件。可以充分利用协助端的计算处理能力,提高了视频的转码效率,并且统一的目标码率可以均衡控制每个视频的最终码率。
在上述实施例一步骤204中的目标码率可以通过如下实施例提供的方法进行确定。
实施例二
如图3所示,本发明实施例提供了一种视频处理方法,具体实施步骤如下:
在步骤301中,计算已转码完成的视频文件的平均码率。
其中,bavr表示平均码率,k表示当前已经转码完成的视频文件的数量,bi表示第i个视频文件的码率。
在步骤302中,根据预设的初始码率和预设的浮动率,确定初始码率的浮动范围。
如果初始码率设为400,预设的浮动率为±30%,则初始码率的浮动范围为280<k<520
在步骤303中,确定平均码率与初始码率的浮动范围之间的关系。
在步骤304中,当平均码率大于初始码率的浮动范围中的最大值时,减小初始码率,使得平均码率位于初始码率的浮动范围内,并确定减小后的初始码率为目标码率。
如果bavr>520k,说明当前所有视频文件平均码率偏大,减少初始码率为300k,则本次转码完成后的平均码率280<bavr<520,确定目标码率为300k。
在步骤305中,当平均码率小于初始码率的浮动范围中的最小值时,增大初始码率,使得平均码率位于初始码率的浮动范围内,并确定增大后的初始码率为目标码率。
如果bavr<300k,说明当前所有文件平均码率范围偏小,增大初始码率为500k,则本次转码完成后的平均码率280<bavr<520,确定目标码率为500k。
在步骤306中,当平均码率位于初始码率的浮动范围内时,确定初始码率为目标码率。
如果300k<bavr<520k,那么所有视频文件的平均码率在正常范围,确定目标码率为400k。
在本实施例二中,通过已处理完的视频的平均码率确定本次待转码的视频的目标码率。使本次转码完成后的视频的平均码率控制在初始码率的浮动范围内,使每个完成转码的视频文件的码率相差不大,并且都可以取得良好的观看效果。达到了均衡控制每个视频的最终码率的目的。
实施例三
如图4所示,本发明实施例提供了一种视频处理方法,对于大的视频文件通过分割转码,提高视频的转码效率。具体实施步骤如下:
在步骤401中,获取待转码的视频文件的文件大小。
获取待转码的视频文件的文件大小为2.3G。
在步骤402中,判断文件大小是否大于预设阈值。当视频文件大小大于预设阈值时,则执行步骤403,当视频文件大小小于预设阈值时,则结束流程。
预设阈值为2.0G,待转码的视频文件的文件大小大于预设阈值。
在步骤403中,当视频文件的大小大于预设阈值时,将视频文件分割为n份分割文件,其中,n=X/Y+1,X为文件大小,Y为预设大小。
当视频文件的大小大于预设阈值时,将视频文件按照每份0.5G分割文件,将文件分割为5份,由于2.3G不能被0.5G整除,因此将余数0.3G作为第5份文件,将分割的n个视频文件分别命名为“文件名_i.文件格式”,其中0≤i≤n。
在步骤404中,将n份分割文件分配给处于空闲状态的n个协助端。
将分割后的视频文件分配给处于空闲状态的协助端,并将协助端的状态设置为占用状态。此分配步骤与实施例一中步骤203相同。
在步骤405中,接收n个协助端发送的转码后的分割文件。
在步骤406中,根据视频文件名,判断接收到的视频文件是否为同一大视频文件的一部分,如果是同一大视频文件的一部分,则执行步骤407,如果不是同一大视频文件的一部分,则执行步骤408。
在步骤407中,按照分割次序将n份被分割的视频文件合成为一个视频文件,合成后的视频文件的文件名为“原文件名.文件格式.asc.flv”。
在步骤408中,上传视频文件。
本实施例三的其他转码过程与实施例一的步骤相同。
在本实施例三中,通过将大的视频文件分割为小的视频文件,并分别对小的视频文件进行转码,再将转码后的小的视频文件组合为转码后的大的视频文件。由于单个文件的转换效率取决于具体协助的处理能力,对占用存储空间大的单个视频文件,只能通过增加占用资源提高协助端的转码能力。因此将大的视频文件分割成几个小的视频文件,多个协助端同时转码一个大的视频文件的不同部分,可以大大的缩短一个协助端转码相同大小的视频文件所需的时间,进一步提高了视频转码的效率。
如图5所示,本发明实施例提供了一种视频处理装置,用于主机端,包括:
第一获取模块501,用于获取待转码的视频文件。
第二获取模块502,用于获取被标记为空闲状态的协助端。
确定模块503,用于确定待转码的视频文件的目标码率。
发送模块504,用于将待转码的视频文件及目标码率发送给协助端,并且将协助端标记为占用状态,协助端用于将待转码的视频文件的码率转换为目标码率。
接收模块505,用于接收协助端发送的转码后的视频文件。
如图6所示,发送模块504,包括:
排序单元601,用于当被标记为空闲状态的协助端有至少两个时,以处理速度从快到慢的顺序排列至少两个协助端。
发送单元602,用于将待转码的视频文件及目标码率发送给处理速度最快的协助端。
如图7所示,确定模块503,包括:
计算单元701,用于计算已转码完成的视频文件的平均码率。
第一确定单元702,用于根据预设的初始码率和预设的浮动率,确定初始码率的浮动范围。
第二确定单元703,用于确定平均码率与初始码率的浮动范围之间的关系;当平均码率大于初始码率的浮动范围中的最大值时,减小初始码率,使得平均码率位于初始码率的浮动范围内,并确定减小后的初始码率为目标码率;当平均码率小于初始码率的浮动范围中的最小值时,增大初始码率,使得平均码率位于初始码率的浮动范围内,并确定增大后的初始码率为目标码率;当平均码率位于初始码率的浮动范围内时,确定初始码率为目标码率。
如图8所示,该装置还包括:
第三获取模块801,用于获取待转码的视频文件的文件大小。
判断模块802,用于判断文件大小是否大于预设阈值。
分割模块803,用于当视频文件的大小大于预设阈值时,将视频文件分割为n份分割文件,其中,n=X/Y+1,X为文件大小,Y为预设大小。
分配模块804,用于将n份分割文件分配给处于空闲状态的n个协助端。
第二接收模块805,用于接收n个协助端发送的转码后的分割文件。
组合模块806,用于组合转码后的分割文件得到转码后的视频文件。
如图9所示,一种视频处理系统,包括:
主机端901,用于获取待转码的视频文件;获取被标记为空闲状态的协助端;确定待转码的视频文件的目标码率;将待转码的视频文件及目标码率发送给协助端,并且将协助端标记为占用状态,协助端用于将待转码的视频文件的码率转换为目标码率;接收协助端发送的转码后的视频文件。
协助端902,用于在空闲状态时,接收主机端发送来的待转码的视频文件及目标码率,将待转码的视频文件的码率转换为目标码率,将转码后的视频文件发送给主机端。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (7)

1.一种视频处理方法,其特征在于,用于主机端,包括:
获取待转码的视频文件;
获取被标记为空闲状态的协助端;
确定待转码的视频文件的目标码率;
将所述待转码的视频文件及所述目标码率发送给所述协助端,并且将所述协助端标记为占用状态,所述协助端用于将待转码的视频文件的码率转换为所述目标码率;每个所述协助端每次只转码一个视频文件;
接收所述协助端发送的转码后的视频文件;
所述确定待转码的视频文件的目标码率,包括:
计算已转码完成的视频文件的平均码率;
根据预设的初始码率和预设的浮动率,确定初始码率的浮动范围;
确定所述平均码率与初始码率的浮动范围之间的关系;
当所述平均码率大于所述初始码率的浮动范围中的最大值时,减小初始码率,使得平均码率位于初始码率的浮动范围内,并确定减小后的初始码率为目标码率;
当所述平均码率小于所述初始码率的浮动范围中的最小值时,增大初始码率,使得平均码率位于初始码率的浮动范围内,并确定增大后的初始码率为目标码率;
当所述平均码率位于初始码率的浮动范围内时,确定所述初始码率为目标码率。
2.如权利要求1所述的方法,其特征在于,当所述被标记为空闲状态的协助端有至少两个时,所述将所述待转码的视频文件及所述目标码率发送给所述协助端,包括:
以处理速度从快到慢的顺序排列至少两个所述协助端;
将所述待转码的视频文件及所述目标码率发送给处理速度最快的协助端。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述待转码的视频文件的文件大小;
判断所述文件大小是否大于预设阈值;
当所述视频文件的大小大于预设阈值时,将所述视频文件分割为n份分割文件,其中,n=X/Y+1,所述X为所述文件大小,所述Y为所述预设阈值大小;
将所述n份分割文件分配给处于空闲状态的n个协助端;
接收所述n个协助端发送的转码后的分割文件;
组合所述转码后的分割文件得到转码后的视频文件。
4.一种视频处理装置,其特征在于,用于主机端,包括:
第一获取模块,用于获取待转码的视频文件;
第二获取模块,用于获取被标记为空闲状态的协助端;
确定模块,用于确定待转码的视频文件的目标码率;
发送模块,用于将所述待转码的视频文件及所述目标码率发送给所述协助端,并且将所述协助端标记为占用状态,所述协助端用于将待转码的视频文件的码率转换为所述目标码率;每个所述协助端每次只转码一个视频文件;
接收模块,用于接收所述协助端发送的转码后的视频文件。
5.如权利要求4所述的装置,其特征在于,所述发送模块,包括:
排序单元,用于当所述被标记为空闲状态的协助端有至少两个时,以处理速度从快到慢的顺序排列至少两个所述协助端;
发送单元,用于将所述待转码的视频文件及所述目标码率发送给处理速度最快的协助端。
6.如权利要求4所述的装置,其特征在于,所述装置还包括:
第三获取模块,用于获取所述待转码的视频文件的文件大小;
判断模块,用于判断所述文件大小是否大于预设阈值;
分割模块,用于当所述视频文件的大小大于预设阈值时,将所述视频文件分割为n份分割文件,其中,n=X/Y+1,所述X为所述文件大小,所述Y为所述预设阈值大小;
分配模块,用于将所述n份分割文件分配给处于空闲状态的n个协助端;
第二接收模块,用于接收所述n个协助端发送的转码后的分割文件;
组合模块,用于组合所述转码后的分割文件得到转码后的视频文件。
7.一种视频处理系统,其特征在于,包括:
主机端,用于获取待转码的视频文件;获取被标记为空闲状态的协助端;确定待转码的视频文件的目标码率;将所述待转码的视频文件及所述目标码率发送给所述协助端,并且将所述协助端标记为占用状态,所述协助端用于将待转码的视频文件的码率转换为所述目标码率;接收所述协助端发送的转码后的视频文件;
协助端,用于在空闲状态时,接收主机端发送来的待转码的视频文件及所述目标码率,将待转码的视频文件的码率转换为所述目标码率,将转码后的视频文件发送给主机端,每个所述协助端每次只转码一个视频文件;
所述确定待转码的视频文件的目标码率,包括:
计算已转码完成的视频文件的平均码率;
根据预设的初始码率和预设的浮动率,确定初始码率的浮动范围;
确定所述平均码率与初始码率的浮动范围之间的关系;
当所述平均码率大于所述初始码率的浮动范围中的最大值时,减小初始码率,使得平均码率位于初始码率的浮动范围内,并确定减小后的初始码率为目标码率;
当所述平均码率小于所述初始码率的浮动范围中的最小值时,增大初始码率,使得平均码率位于初始码率的浮动范围内,并确定增大后的初始码率为目标码率;
当所述平均码率位于初始码率的浮动范围内时,确定所述初始码率为目标码率。
CN201410645198.9A 2014-11-10 2014-11-10 一种视频处理方法、装置及系统 Active CN104363463B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410645198.9A CN104363463B (zh) 2014-11-10 2014-11-10 一种视频处理方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410645198.9A CN104363463B (zh) 2014-11-10 2014-11-10 一种视频处理方法、装置及系统

Publications (2)

Publication Number Publication Date
CN104363463A CN104363463A (zh) 2015-02-18
CN104363463B true CN104363463B (zh) 2019-06-18

Family

ID=52530682

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410645198.9A Active CN104363463B (zh) 2014-11-10 2014-11-10 一种视频处理方法、装置及系统

Country Status (1)

Country Link
CN (1) CN104363463B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105578206A (zh) * 2015-12-15 2016-05-11 无锡天脉聚源传媒科技有限公司 一种多媒体文件转码方法及装置
CN106254867A (zh) * 2016-08-08 2016-12-21 暴风集团股份有限公司 基于画面组对视频文件进行转码的方法及系统
CN106911939A (zh) * 2017-01-06 2017-06-30 武汉烽火众智数字技术有限责任公司 一种视频转码方法、装置及系统
CN108769736B (zh) * 2018-05-24 2019-09-17 重庆瑞景信息科技有限公司 面向显示的视频转码码率决策模型的建立及参数确定方法
CN108965106B (zh) * 2018-06-21 2021-05-25 北京达佳互联信息技术有限公司 一种媒体文件的发送、下载方法及装置
CN111083430B (zh) * 2018-10-18 2021-04-23 杭州海康威视系统技术有限公司 一种图像获取方法、装置、电子设备及存储介质
CN109951737B (zh) * 2019-02-26 2022-02-25 北京字节跳动网络技术有限公司 视频处理方法、装置、电子设备和计算机可读存储介质
CN109788316B (zh) * 2019-02-27 2020-08-14 腾讯科技(深圳)有限公司 码率控制、视频转码方法与装置、计算机设备及存储介质
CN110913245A (zh) * 2019-11-08 2020-03-24 网宿科技股份有限公司 一种控制视频转码码率的方法和装置
CN111031389B (zh) * 2019-12-11 2022-05-20 Oppo广东移动通信有限公司 视频处理方法、电子装置和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1372759A (zh) * 1999-08-17 2002-10-02 通用仪器公司 用于客户机顶设备储存应用的转码
CN103458270A (zh) * 2013-09-09 2013-12-18 深圳市融创天下科技股份有限公司 视频转码系统和方法
CN103731678A (zh) * 2013-12-30 2014-04-16 世纪龙信息网络有限责任公司 视频文件的并行转码方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8928804B2 (en) * 2012-11-19 2015-01-06 Broadcom Corporation Managing encoder parameters for parallel transcoding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1372759A (zh) * 1999-08-17 2002-10-02 通用仪器公司 用于客户机顶设备储存应用的转码
CN103458270A (zh) * 2013-09-09 2013-12-18 深圳市融创天下科技股份有限公司 视频转码系统和方法
CN103731678A (zh) * 2013-12-30 2014-04-16 世纪龙信息网络有限责任公司 视频文件的并行转码方法及系统

Also Published As

Publication number Publication date
CN104363463A (zh) 2015-02-18

Similar Documents

Publication Publication Date Title
CN104363463B (zh) 一种视频处理方法、装置及系统
US12003743B2 (en) Video stream decoding method and apparatus, terminal device, and storage medium
US11878237B2 (en) Server and data processing method, apparatus, and system
US10499035B2 (en) Method and system of displaying a popping-screen
US9596280B2 (en) Multiple stream content presentation
CN103440612B (zh) 一种gpu虚拟化中图像处理方法和装置
US20180241988A1 (en) Multi-View Video Transmission Method and Apparatus
CN102413150B (zh) 服务器、虚拟桌面控制方法以及虚拟桌面控制系统
US11889132B2 (en) Method and apparatus for implementing multi-person video live-streaming service, and computer device
CN102802054B (zh) 一种多流视频直播中的控制方法及装置
JP2016536710A (ja) デスクトップクラウドベースのメディア制御方法およびデバイス
CN104768063A (zh) 一种视频编码方法及装置
CN103501429A (zh) 一种基于动态码率的数据编码方法和装置
CN112653898B (zh) 用户形象生成方法、相关装置及计算机程序产品
CN106791850A (zh) 视频编码方法及装置
CN103096131B (zh) 一种直播流处理方法和装置
US20200366878A1 (en) Image processing apparatus, control method of image processing apparatus, and storage medium
KR20130033125A (ko) 컨텐츠변환장치 및 컨텐츠변환방법
CN104133607A (zh) 一种笔迹分享方法及装置
CN105049948A (zh) 一种即时视频的编码方法和电子设备
CN103763307B (zh) 一种带宽优化方法及系统
CN105163197A (zh) 一种即时视频的编码方法和电子设备
CN106385627A (zh) 视频编码方法和装置
CN105163196A (zh) 一种即时视频的编码方法和电子设备
CN113315999A (zh) 虚拟现实优化方法、装置、设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220824

Address after: Room 913, 9th Floor, Building 4, Yard 9, Guang'an Road, Fengtai District, Beijing 100000

Patentee after: Beijing Boan Technology Co.,Ltd.

Address before: 7th Floor, Block A, Tiangong Building, University of Science and Technology, No. 30 Xueyuan Road, Haidian District, Beijing 100083

Patentee before: ABLESKY SCIENCE & TECHNOLOGY (BEIJING) CO.,LTD.