一种视频处理方法、装置及系统的制作方法

文档序号:7819624阅读:130来源:国知局
一种视频处理方法、装置及系统的制作方法
【专利摘要】本发明公开了一种视频处理方法、装置及系统,用于主机端,用以提高视频转码的效率及均衡控制每个视频的最终码率。所述方法包括:获取待转码的视频文件;获取被标记为空闲状态的协助端;确定待转码的视频文件的目标码率;将所述待转码的视频文件及所述目标码率发送给所述协助端,并且将所述协助端标记为占用状态,所述协助端用于将待转码的视频文件的码率转换为所述目标码率;接收所述协助端发送的转码后的视频文件。
【专利说明】一种视频处理方法、装置及系统

【技术领域】
[0001] 本发明涉及互联网【技术领域】,特别涉及一种视频处理方法、装置及系统。

【背景技术】
[0002] 作为视频的提供来说,其提供的视频类型、视频场景是千变万化的。作为视频的观 看者来说,观看视频时的接入带宽与接入网络也是不同的。为了适应用户的观看需要,通常 会将视频的最终码率控制适合的范围内。
[0003] 现有的视频转码技术是一台终端单独完成一个或多个视频的转码,由于有大量的 视频需要转码,因此,一台终端一次需要转码多个视频,这些视频的场景、视频的原始码率 都不相同,而终端转码的标准是相同的,这就造成了转码后的视频的码率参差不齐,一些视 频的码率过高,一些视频的码率过低,而过低码率的视频所能提供的观看效果并不能达到 观看者的要求。而且,由于是由一台终端一次转码多个视频,加大了终端的负荷,不能充分 利用终端的闲散的计算处理能力,延长了转码所需的时间,使视频转码的效率过低。


【发明内容】

[0004] 本发明提供一种视频处理方法、装置及系统,用以提高视频转码的效率及均衡控 制每个视频的最终码率。
[0005] 本发明提供一种视频处理方法,用于主机端,包括:获取待转码的视频文件;获取 被标记为空闲状态的协助端;确定待转码的视频文件的目标码率;将所述待转码的视频文 件及所述目标码率发送给所述协助端,并且将所述协助端标记为占用状态,所述协助端用 于将待转码的视频文件的码率转换为所述目标码率;接收所述协助端发送的转码后的视频 文件。
[0006] 通过主机端将待转码的视频文件及目标码率分配给协助端,使协助端将待转码的 视频文件的码率转换为目标码率,并且同一协助端同时只转码一个视频文件。可以充分利 用协助端的计算处理能力,提高了视频的转码效率,并且统一的目标码率可以均衡控制每 个视频的最终码率。
[0007] 当所述被标记为空闲状态的协助端有至少两个时,所述将所述待转码的视频文件 及所述目标码率发送给所述协助端,包括:以处理速度从快到慢的顺序排列至少两个所述 协助端;将所述待转码的视频文件及所述目标码率发送给处理速度最快的协助端。
[0008] 将待转码的视频文件优先分配给转码速度快的协助端。可以充分利用处理速度快 的协助端的计算处理能力,有效的提高了视频的转码效率。
[0009] 所述确定待转码的视频文件的目标码率,包括:计算已转码完成的视频文件的平 均码率;根据预设的初始码率和预设的浮动率,确定初始码率的浮动范围;确定所述平均 码率与初始码率的浮动范围之间的关系;当所述平均码率大于所述初始码率的浮动范围中 的最大值时,减小初始码率,使得平均码率位于初始码率的浮动范围内,并确定减小后的初 始码率为目标码率;当所述平均码率小于所述初始码率的浮动范围中的最小值时,增大初 始码率,使得平均码率位于初始码率的浮动范围内,并确定增大后的初始码率为目标码率; 当所述平均码率位于初始码率的浮动范围内时,确定所述初始码率为目标码率。
[0010] 通过已处理完的视频的平均码率确定本次待转码的视频的目标码率。使本次转码 完成后的视频的平均码率控制在初始码率的浮动范围内,使每个完成转码的视频文件的码 率相差不大,并且都可以取得良好的观看效果。达到了均衡控制每个视频的最终码率的目 的。
[0011] 所述方法还包括:获取所述待转码的视频文件的文件大小;判断所述文件大小是 否大于预设阈值;当所述视频文件的大小大于预设阈值时,将所述视频文件分割为η份分 割文件,其中,η=Χ/Υ+1,所述X为所述文件大小,所述Y为所述预设大小;将所述η份分 割文件分配给处于空闲状态的η个协助端;接收所述η个协助端发送的转码后的分割文件; 组合所述转码后的分割文件得到转码后的视频文件。
[0012] 通过将大的视频文件分割为小的视频文件,并分别对小的视频文件进行转码,再 将转码后的小的视频文件组合为转码后的大的视频文件。由于单个文件的转换效率取决于 具体协助的处理能力,对占用存储空间大的单个视频文件,只能通过增加占用资源提高协 助端的转码能力。因此将大的视频文件分割成几个小的视频文件,多个协助端同时转码一 个大的视频文件的不同部分,可以大大的缩短一个协助端转码相同大小的视频文件所需的 时间,进一步提1? 了视频转码的效率。
[0013] 一种视频处理装置,用于主机端,包括:第一获取模块,用于获取待转码的视频文 件;第二获取模块,用于获取被标记为空闲状态的协助端;确定模块,用于确定待转码的视 频文件的目标码率;发送模块,用于将所述待转码的视频文件及所述目标码率发送给所述 协助端,并且将所述协助端标记为占用状态,所述协助端用于将待转码的视频文件的码率 转换为所述目标码率;接收模块,用于接收所述协助端发送的转码后的视频文件。
[0014] 所述发送模块,包括:排序单元,用于当所述被标记为空闲状态的协助端有至少两 个时,以处理速度从快到慢的顺序排列至少两个所述协助端;发送单元,用于将所述待转码 的视频文件及所述目标码率发送给处理速度最快的协助端。
[0015] 所述确定模块,包括:计算单元,用于计算已转码完成的视频文件的平均码率;第 一确定单元,用于根据预设的初始码率和预设的浮动率,确定初始码率的浮动范围;第二确 定单元,用于确定所述平均码率与初始码率的浮动范围之间的关系;当所述平均码率大于 所述初始码率的浮动范围中的最大值时,减小初始码率,使得平均码率位于初始码率的浮 动范围内,并确定减小后的初始码率为目标码率;当所述平均码率小于所述初始码率的浮 动范围中的最小值时,增大初始码率,使得平均码率位于初始码率的浮动范围内,并确定增 大后的初始码率为目标码率;当所述平均码率位于初始码率的浮动范围内时,确定所述初 始码率为目标码率。
[0016] 所述装置还包括:第三获取模块,用于获取所述待转码的视频文件的文件大小; 判断模块,用于判断所述文件大小是否大于预设阈值;分割模块,用于当所述视频文件的大 小大于预设阈值时,将所述视频文件分割为η份分割文件,其中,n=X/Y+1,所述X为所述 文件大小,所述Y为所述预设大小;分配模块,用于将所述η份分割文件分配给处于空闲状 态的η个协助端;第二接收模块,用于接收所述η个协助端发送的转码后的分割文件;组合 模块,用于组合所述转码后的分割文件得到转码后的视频文件。
[0017] 一种视频处理系统,包括:主机端,用于获取待转码的视频文件;获取被标记为空 闲状态的协助端;确定待转码的视频文件的目标码率;将所述待转码的视频文件及所述目 标码率发送给所述协助端,并且将所述协助端标记为占用状态,所述协助端用于将待转码 的视频文件的码率转换为所述目标码率;接收所述协助端发送的转码后的视频文件;协助 端,用于在空闲状态时,接收主机端发送来的待转码的视频文件及所述目标码率,将待转码 的视频文件的码率转换为所述目标码率,将转码后的视频文件发送给主机端。
[0018] 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变 得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明 书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0019] 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

【专利附图】

【附图说明】
[0020] 附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实 施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0021] 图1为一种视频处理方法的流程图。
[0022] 图2为本发明实施例一中视频处理方法的流程图。
[0023] 图3为本发明实施例二中视频处理方法的流程图。
[0024] 图4为本发明实施例三中视频处理方法的流程图。
[0025] 图5为本发明实施例中一种视频处理装置的结构图。
[0026] 图6为本发明实施例中一种视频处理装置中发送模块的结构图。
[0027] 图7为本发明实施例中一种视频处理装置中确定模块的结构图。
[0028] 图8为本发明实施例中另一种视频处理装置的结构图。
[0029] 图9为本发明实施例中一种视频处理系统结构的示意图。

【具体实施方式】
[0030] 以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实 施例仅用于说明和解释本发明,并不用于限定本发明。
[0031] 如图1所示,本发明实施例提供了一种视频处理方法,用于主机端,主机端可以是 服务器。具体的实施步骤如下101-105:
[0032] 在步骤101中,获取待转码的视频文件。
[0033] 在步骤102中,获取被标记为空闲状态的协助端。
[0034] 在步骤103中,确定待转码的视频文件的目标码率。
[0035] 在一个实施例中,步骤103可被实施为步骤A1-A6 :
[0036] 步骤A1、计算已转码完成的视频文件的平均码率;
[0037] 步骤A2、根据预设的初始码率和预设的浮动率,确定初始码率的浮动范围;
[0038] 步骤A3、确定平均码率与初始码率的浮动范围之间的关系,当平均码率大于初始 码率的浮动范围中的最大值时,执行步骤A4;当平均码率小于初始码率的浮动范围中的最 小值时,执行步骤A5 ;当平均码率位于初始码率的浮动范围内时,执行步骤A6 ;
[0039] 步骤A4、当平均码率大于初始码率的浮动范围中的最大值时,减小初始码率,使得 平均码率位于初始码率的浮动范围内,并确定减小后的初始码率为目标码率;
[0040] 步骤A5、当平均码率小于初始码率的浮动范围中的最小值时,增大初始码率,使得 平均码率位于初始码率的浮动范围内,并确定增大后的初始码率为目标码率;
[0041] 步骤A6、当平均码率位于初始码率的浮动范围内时,确定初始码率为目标码率。
[0042] 通过已处理完的视频的平均码率确定本次待转码的视频的目标码率。使本次转码 完成后的视频的平均码率控制在初始码率的浮动范围内,使每个完成转码的视频文件的码 率相差不大,并且都可以取得良好的观看效果。达到了均衡控制每个视频的最终码率的目 的。
[0043] 在步骤104中,将待转码的视频文件及目标码率发送给协助端,并且将协助端标 记为占用状态,协助端用于将待转码的视频文件的码率转换为目标码率。
[0044] 在一个实施例中,步骤104可被实施为:当被标记为空闲状态的协助端有至少两 个时,以处理速度从快到慢的顺序排列至少两个协助端;将待转码的视频文件及目标码率 发送给处理速度最快的协助端。将待转码的视频文件优先分配给转码速度快的协助端,可 以充分利用处理速度快的协助端的计算处理能力,有效的提高了视频的转码效率。
[0045] 在步骤105中,接收协助端发送的转码后的视频文件。
[0046] 本发明实施例提供了一种视频处理方法,通过主机端将待转码的视频文件及目标 码率分配给协助端,使协助端将待转码的视频文件的码率转换为目标码率,可以充分利用 协助端的计算处理能力,提高了视频的转码效率,并且统一的目标码率可以均衡控制每个 视频的最终码率。
[0047] 在一个实施例中,该方法还可包括以下操作B1-B6 :
[0048] 步骤B1、获取待转码的视频文件的文件大小;
[0049] 步骤B2、判断文件大小是否大于预设阈值,当视频文件的大小大于预设阈值时,执 行步骤B3;当视频文件的大小等于或小于预设阈值时,执行步骤102-步骤105。
[0050] 步骤B3、当视频文件的大小大于预设阈值时,将视频文件分割为η份分割文件,其 中,η=X/Y+l,X为文件大小,Y为预设大小;
[0051] 步骤M、将η份分割文件分配给处于空闲状态的η个协助端;
[0052] 步骤Β5、接收η个协助端发送的转码后的分割文件;
[0053] 步骤Β6、组合转码后的分割文件得到转码后的视频文件。
[0054] 通过将大的视频文件分割为小的视频文件,并分别对小的视频文件进行转码,再 将转码后的小的视频文件组合为转码后的大的视频文件。由于单个文件的转换效率取决于 具体协助的处理能力,对占用存储空间大的单个视频文件,只能通过增加占用资源提高协 助端的转码能力。因此将大的视频文件分割成几个小的视频文件,多个协助端同时转码一 个大的视频文件的不同部分,可以大大的缩短一个协助端转码相同大小的视频文件所需的 时间,进一步提1? 了视频转码的效率。
[0055] 下面通过具体的实施例来说明通过主机端与协助端配合提高转码效率及均衡各 转码视频的码率。
[0056] 实施例一
[0057] 如图2所示,本发明实施例提供了一种视频处理方法,具体实施步骤如下:
[0058] 在步骤201中,检查是否有待转码的视频文件,如果有待转码的视频文件,则执行 步骤202 ;如果没有待转码的视频文件,则结束流程。
[0059] 在步骤202中,获取待转码的视频文件。
[0060] 在步骤203中,从参与转换的协助端中选择空闲状态的协助端,并将待转码的视 频文件与被选中的协助端建立关联,并将被选的协助端标记为占用状态。如果设置主机端 参与转码,则该协助端也可以是主机端。
[0061] 当被标记为空闲状态的协助端有至少两个时,从参与转换的协助端中选择空闲状 态的协助端的步骤:以处理速度从快到慢的顺序排列至少两个协助端;将待转码的视频文 件及目标码率发送给处理速度最快的协助端。
[0062] 协助端使用的CPU越多,转码视频文件的速度越快,则协助端处理周期越短,选择 处理速度快的协助端进行转码,可以确保处理能力强、处理速度快的协助端能承担更多的 视频文件的转码工作。
[0063] 只选择空闲状态的协助端进行转码,可以确保每个协助端每次只转码一个视频文 件,可以获得协助端最优的转换能力,确保协助端在最优的环境下进行转码,保证了整体的 转码效率。
[0064]在步骤204中,将待转码的视频文件及该待转码的视频文件目标码率发送给协助 端,并更新发送进度。如果待转码的视频文件发送成功,则执行步骤206 ;如果待转码的视 频文件发送失败,则执行步骤205。
[0065] 在步骤205中,如果待转码的视频文件发送失败,结束待转码视频文件与该协助 端之间的关联。待转码的视频文件发送失败,说明主机端与协助端之前出现网络连接问题, 回收待转码的视频文件,等待重新分配给其他协助端进行转码。
[0066] 在步骤206中,如果待转码的视频文件发送成功,实时接收并显示协助端发送的 转码进度及码率。如果待转码的视频文件转换失败,则执行步骤207 ;如果待转码的视频文 件转换成功,则执行步骤208。
[0067] 在步骤207中,如果待转码的视频文件转换失败,结束待转码的视频文件与该协 助端之间的关联。回收待转码的视频文件,等待重新分配给其他协助端进行转码,并将该协 助端设置为空闲状态。
[0068] 在步骤208中,如果待转码的视频文件转换成功,接收协助端发送的转码完成的 视频文件。
[0069] 在步骤209中,实时更新转码完成的视频文件的接收进度,如果接收视频文件成 功,则执行步骤211,如果接收视频文件失败,则执行步骤210 ;
[0070] 在步骤210中,如果接收视频文件失败,结束待转码视频文件与该协助端之间的 关联,回收待转码的视频文件。如果接收视频文件失败,说明协助端与主机端发生网络连接 问题,回收待转码的视频文件,等待重新分配给其他协助端进行转码。
[0071] 在步骤211中,如果接收视频文件成功,上传转码完成的视频文件,结束待转码视 频文件与该协助端之间的关联,将该协助端设置为空闲状态。
[0072] 在本实施例一中,为转码视频文件需要耗费大量内存及CPU资源,主机端需要承 担文件分发,上传等工作,因此,需要预留资源,默认不参与转换任务。协助端主要用于转 码视频文件的工作,默认预留一些内存及CPU资源用于视频文件的接收及发送的工作,则 其余资源用于文件处理。可以确保主机端及协助端能预留设定的计算资源给别的必需的工 作,而不全部耗费在视频转码上。
[0073] 待转码的视频文件通常高达4、5G,本发明实施例一可以充分利用主机端与协助端 之间的网络带宽,确保文件传输的时间最短。
[0074] 在本实施例一中,通过主机端将待转码的视频文件及目标码率分配给协助端,使 协助端将待转码的视频文件的码率转换为目标码率,并且同一协助端同时只转码一个视频 文件。可以充分利用协助端的计算处理能力,提高了视频的转码效率,并且统一的目标码率 可以均衡控制每个视频的最终码率。
[0075] 在上述实施例一步骤204中的目标码率可以通过如下实施例提供的方法进行确 定。
[0076] 实施例二
[0077] 如图3所示,本发明实施例提供了一种视频处理方法,具体实施步骤如下:
[0078] 在步骤301中,计算已转码完成的视频文件的平均码率。 K=k Thi
[0079]h 其中,baw表示平均码率,k表示当前已经转码完成的视频文件的数 uavr I k, 量,h表示第i个视频文件的码率。
[0080] 在步骤302中,根据预设的初始码率和预设的浮动率,确定初始码率的浮动范围。
[0081] 如果初始码率设为400,预设的浮动率为±30%,则初始码率的浮动范围为 280〈k〈520
[0082] 在步骤303中,确定平均码率与初始码率的浮动范围之间的关系。
[0083] 在步骤304中,当平均码率大于初始码率的浮动范围中的最大值时,减小初始码 率,使得平均码率位于初始码率的浮动范围内,并确定减小后的初始码率为目标码率。
[0084] 如果baw>520k,说明当前所有视频文件平均码率偏大,减少初始码率为300k,则本 次转码完成后的平均码率280〈bav,〈520,确定目标码率为300k。
[0085] 在步骤305中,当平均码率小于初始码率的浮动范围中的最小值时,增大初始码 率,使得平均码率位于初始码率的浮动范围内,并确定增大后的初始码率为目标码率。
[0086] 如果baw〈300k,说明当前所有文件平均码率范围偏小,增大初始码率为500k,则本 次转码完成后的平均码率280〈bav,〈520,确定目标码率为500k。
[0087] 在步骤306中,当平均码率位于初始码率的浮动范围内时,确定初始码率为目标 码率。
[0088] 如果300k〈bav,〈520k,那么所有视频文件的平均码率在正常范围,确定目标码率为 400k。
[0089] 在本实施例二中,通过已处理完的视频的平均码率确定本次待转码的视频的目标 码率。使本次转码完成后的视频的平均码率控制在初始码率的浮动范围内,使每个完成转 码的视频文件的码率相差不大,并且都可以取得良好的观看效果。达到了均衡控制每个视 频的最终码率的目的。
[0090] 实施例三
[0091] 如图4所示,本发明实施例提供了一种视频处理方法,对于大的视频文件通过分 割转码,提高视频的转码效率。具体实施步骤如下:
[0092] 在步骤401中,获取待转码的视频文件的文件大小。
[0093] 获取待转码的视频文件的文件大小为2. 3G。
[0094] 在步骤402中,判断文件大小是否大于预设阈值。当视频文件大小大于预设阈值 时,则执行步骤403,当视频文件大小小于预设阈值时,则结束流程。
[0095]预设阈值为2. 0G,待转码的视频文件的文件大小大于预设阈值。
[0096] 在步骤403中,当视频文件的大小大于预设阈值时,将视频文件分割为η份分割文 件,其中,η=X/Y+l,X为文件大小,Y为预设大小。
[0097] 当视频文件的大小大于预设阈值时,将视频文件按照每份0. 5G分割文件,将文件 分割为5份,由于2. 3G不能被0. 5G整除,因此将余数0. 3G作为第5份文件,将分割的η个 视频文件分别命名为"文件名_i.文件格式",其中〇 <i<η。
[0098] 在步骤404中,将η份分割文件分配给处于空闲状态的η个协助端。
[0099] 将分割后的视频文件分配给处于空闲状态的协助端,并将协助端的状态设置为占 用状态。此分配步骤与实施例一中步骤203相同。
[0100] 在步骤405中,接收η个协助端发送的转码后的分割文件。
[0101] 在步骤406中,根据视频文件名,判断接收到的视频文件是否为同一大视频文件 的一部分,如果是同一大视频文件的一部分,则执行步骤407,如果不是同一大视频文件的 一部分,则执行步骤408。
[0102] 在步骤407中,按照分割次序将η份被分割的视频文件合成为一个视频文件,合成 后的视频文件的文件名为"原文件名.文件格式.asc.flv"。
[0103] 在步骤408中,上传视频文件。
[0104] 本实施例三的其他转码过程与实施例一的步骤相同。
[0105] 在本实施例三中,通过将大的视频文件分割为小的视频文件,并分别对小的视频 文件进行转码,再将转码后的小的视频文件组合为转码后的大的视频文件。由于单个文件 的转换效率取决于具体协助的处理能力,对占用存储空间大的单个视频文件,只能通过增 加占用资源提高协助端的转码能力。因此将大的视频文件分割成几个小的视频文件,多个 协助端同时转码一个大的视频文件的不同部分,可以大大的缩短一个协助端转码相同大小 的视频文件所需的时间,进一步提高了视频转码的效率。
[0106] 如图5所示,本发明实施例提供了一种视频处理装置,用于主机端,包括:
[0107] 第一获取模块501,用于获取待转码的视频文件。
[0108] 第二获取模块502,用于获取被标记为空闲状态的协助端。
[0109] 确定模块503,用于确定待转码的视频文件的目标码率。
[0110] 发送模块504,用于将待转码的视频文件及目标码率发送给协助端,并且将协助端 标记为占用状态,协助端用于将待转码的视频文件的码率转换为目标码率。
[0111] 接收模块505,用于接收协助端发送的转码后的视频文件。
[0112] 如图6所示,发送模块504,包括:
[0113] 排序单元601,用于当被标记为空闲状态的协助端有至少两个时,以处理速度从快 到慢的顺序排列至少两个协助端。
[0114] 发送单元602,用于将待转码的视频文件及目标码率发送给处理速度最快的协助 端。
[0115] 如图7所示,确定模块503,包括:
[0116] 计算单元701,用于计算已转码完成的视频文件的平均码率。
[0117]第一确定单元702,用于根据预设的初始码率和预设的浮动率,确定初始码率的浮 动范围。
[0118]第二确定单元703,用于确定平均码率与初始码率的浮动范围之间的关系;当平 均码率大于初始码率的浮动范围中的最大值时,减小初始码率,使得平均码率位于初始码 率的浮动范围内,并确定减小后的初始码率为目标码率;当平均码率小于初始码率的浮动 范围中的最小值时,增大初始码率,使得平均码率位于初始码率的浮动范围内,并确定增大 后的初始码率为目标码率;当平均码率位于初始码率的浮动范围内时,确定初始码率为目 标码率。
[0119] 如图8所示,该装置还包括:
[0120] 第三获取模块801,用于获取待转码的视频文件的文件大小。
[0121] 判断模块802,用于判断文件大小是否大于预设阈值。
[0122] 分割模块803,用于当视频文件的大小大于预设阈值时,将视频文件分割为η份分 割文件,其中,η=X/Y+l,X为文件大小,Y为预设大小。
[0123] 分配模块804,用于将η份分割文件分配给处于空闲状态的η个协助端。
[0124]第二接收模块805,用于接收η个协助端发送的转码后的分割文件。
[0125] 组合模块806,用于组合转码后的分割文件得到转码后的视频文件。
[0126] 如图9所示,一种视频处理系统,包括:
[0127] 主机端901,用于获取待转码的视频文件;获取被标记为空闲状态的协助端;确定 待转码的视频文件的目标码率;将待转码的视频文件及目标码率发送给协助端,并且将协 助端标记为占用状态,协助端用于将待转码的视频文件的码率转换为目标码率;接收协助 端发送的转码后的视频文件。
[0128]协助端902,用于在空闲状态时,接收主机端发送来的待转码的视频文件及目标码 率,将待转码的视频文件的码率转换为目标码率,将转码后的视频文件发送给主机端。
[0129]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序 产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实 施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机 可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形 式。
[0130] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程 图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一 流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算 机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理 器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生 用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能 的装置。
[0131]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特 定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或 多个方框中指定的功能。
[0132] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计 算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或 其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图 一个方框或多个方框中指定的功能的步骤。
[0133] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。
【权利要求】
1. 一种视频处理方法,其特征在于,用于主机端,包括: 获取待转码的视频文件; 获取被标记为空闲状态的协助端; 确定待转码的视频文件的目标码率; 将所述待转码的视频文件及所述目标码率发送给所述协助端,并且将所述协助端标记 为占用状态,所述协助端用于将待转码的视频文件的码率转换为所述目标码率; 接收所述协助端发送的转码后的视频文件。
2. 如权利要求1所述的方法,其特征在于,当所述被标记为空闲状态的协助端有至少 两个时,所述将所述待转码的视频文件及所述目标码率发送给所述协助端,包括: 以处理速度从快到慢的顺序排列至少两个所述协助端; 将所述待转码的视频文件及所述目标码率发送给处理速度最快的协助端。
3. 如权利要求1所述的方法,其特征在于,所述确定待转码的视频文件的目标码率,包 括: 计算已转码完成的视频文件的平均码率; 根据预设的初始码率和预设的浮动率,确定初始码率的浮动范围; 确定所述平均码率与初始码率的浮动范围之间的关系; 当所述平均码率大于所述初始码率的浮动范围中的最大值时,减小初始码率,使得平 均码率位于初始码率的浮动范围内,并确定减小后的初始码率为目标码率; 当所述平均码率小于所述初始码率的浮动范围中的最小值时,增大初始码率,使得平 均码率位于初始码率的浮动范围内,并确定增大后的初始码率为目标码率; 当所述平均码率位于初始码率的浮动范围内时,确定所述初始码率为目标码率。
4. 如权利要求1所述的方法,其特征在于,所述方法还包括: 获取所述待转码的视频文件的文件大小; 判断所述文件大小是否大于预设阈值; 当所述视频文件的大小大于预设阈值时,将所述视频文件分割为n份分割文件,其中, n = X/Y+1,所述X为所述文件大小,所述Y为所述预设大小; 将所述n份分割文件分配给处于空闲状态的n个协助端; 接收所述n个协助端发送的转码后的分割文件; 组合所述转码后的分割文件得到转码后的视频文件。
5. -种视频处理装置,其特征在于,用于主机端,包括: 第一获取模块,用于获取待转码的视频文件; 第二获取模块,用于获取被标记为空闲状态的协助端; 确定模块,用于确定待转码的视频文件的目标码率; 发送模块,用于将所述待转码的视频文件及所述目标码率发送给所述协助端,并且将 所述协助端标记为占用状态,所述协助端用于将待转码的视频文件的码率转换为所述目标 码率; 接收模块,用于接收所述协助端发送的转码后的视频文件。
6. 如权利要求5所述的装置,其特征在于,所述发送模块,包括: 排序单元,用于当所述被标记为空闲状态的协助端有至少两个时,以处理速度从快到 慢的顺序排列至少两个所述协助端; 发送单元,用于将所述待转码的视频文件及所述目标码率发送给处理速度最快的协助 端。
7. 如权利要求5所述的装置,其特征在于,所述确定模块,包括: 计算单元,用于计算已转码完成的视频文件的平均码率; 第一确定单元,用于根据预设的初始码率和预设的浮动率,确定初始码率的浮动范 围; 第二确定单元,用于确定所述平均码率与初始码率的浮动范围之间的关系;当所述平 均码率大于所述初始码率的浮动范围中的最大值时,减小初始码率,使得平均码率位于初 始码率的浮动范围内,并确定减小后的初始码率为目标码率;当所述平均码率小于所述初 始码率的浮动范围中的最小值时,增大初始码率,使得平均码率位于初始码率的浮动范围 内,并确定增大后的初始码率为目标码率;当所述平均码率位于初始码率的浮动范围内时, 确定所述初始码率为目标码率。
8. 如权利要求5所述的装置,其特征在于,所述装置还包括: 第三获取模块,用于获取所述待转码的视频文件的文件大小; 判断模块,用于判断所述文件大小是否大于预设阈值; 分割模块,用于当所述视频文件的大小大于预设阈值时,将所述视频文件分割为n份 分割文件,其中,n = X/Y+1,所述X为所述文件大小,所述Y为所述预设大小; 分配模块,用于将所述n份分割文件分配给处于空闲状态的n个协助端; 第二接收模块,用于接收所述n个协助端发送的转码后的分割文件; 组合模块,用于组合所述转码后的分割文件得到转码后的视频文件。
9. 一种视频处理系统,其特征在于,包括: 主机端,用于获取待转码的视频文件;获取被标记为空闲状态的协助端;确定待转码 的视频文件的目标码率;将所述待转码的视频文件及所述目标码率发送给所述协助端,并 且将所述协助端标记为占用状态,所述协助端用于将待转码的视频文件的码率转换为所述 目标码率;接收所述协助端发送的转码后的视频文件; 协助端,用于在空闲状态时,接收主机端发送来的待转码的视频文件及所述目标码率, 将待转码的视频文件的码率转换为所述目标码率,将转码后的视频文件发送给主机端。
【文档编号】H04N21/2343GK104363463SQ201410645198
【公开日】2015年2月18日 申请日期:2014年11月10日 优先权日:2014年11月10日
【发明者】楼英明, 魏洪钦 申请人:能力天空科技(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1