一种分布式视频转码的纠错方法及系统的制作方法

文档序号:7778713阅读:201来源:国知局
一种分布式视频转码的纠错方法及系统的制作方法
【专利摘要】本发明实施例提供一种分布式视频转码的纠错方法,包括:解封装服务器将视频文件解封装,得到至少一个GOP和至少一个音频包,为至少一个GOP以及音频包分配编号;解封装服务器将GOP和音频包发送到转码服务器;转码服务器检查收到的GOP和音频包的正确性;转码服务器将正确接收的GOP和音频包进行转码;转码服务器将转码后的GOP和音频包发送到封装服务器;封装服务器检测是否收到了所有的转码后的GOP以及音频包;封装服务器在检测收到了所有的转码后的GOP以及音频包后,将转码后的GOP以及音频包封装为转码后的视频文件。本发明实施例还提供了相应的纠错系统。通过本发明实施例,能够最大限度地对分布式视频转码的错误进行纠正,提高分布式视频转码的正确性。
【专利说明】一种分布式视频转码的纠错方法及系统
【技术领域】
[0001]本发明涉及计算机【技术领域】,尤其涉及一种分布式视频转码的纠错方法及系统。【背景技术】
[0002]当有大量视频需要进行转换格式时,可以采用多台单机版的转码软件进行转码;而更为高效的办法是设计一个分布式的转码系统进行转码。分布式视频转码一般可分为四个步骤进行:a、解封装,b、视频解码编码,C、音频解码编码,d、封装。这四个步骤中视频解码编码这一步要耗费整个转码过程80%_90%的时间。为了提高转码速度,减少转码的整体时间最核心的是要减少视频解码编码的处理时间。
[0003]分布式转码的思想是利用多台服务器同时并行对进GOP (Group of Pictures,画面组)解码编码处理,并行处理GOP的服务器越多,整个转码过程耗时就越少。为此分布式转码系统一般被设计为:一台服务器负责解封装,多台服务器负责处理G0P,一台服务器负责处理音频包,一台服务器负责封装并输出目标视频文件。图1所示即为分布式转码的系统示意图。
[0004]分布式转码的特点是将视频的解封装、视频流编解码、音频流编解码、视频的封装分开在多台服务器上运行的。而且视频流的编解码往往会由多台服务器同时处理。在这些服务器中间数据是通过文件在网络中传输的,这样就有可能造成数据文件在网络中出错甚至丢失,不管是出错还是丢失都会造成目标视频文件无法输出。

【发明内容】

[0005]为了解决分布式转码文件传输错误导致转码失败的问题,本发明实施例提出一种分布式视频转码的纠错方法和系统。
[0006]本发明的一个方面,提供一种分布式视频转码的纠错方法,包括:
[0007]解封装服务器将视频文件解封装,得到至少一个画面组GOP和至少一个音频包,为所述至少一个GOP以及音频包分配编号;
[0008]所述解封装服务器将所述GOP和所述音频包发送到转码服务器;
[0009]所述转码服务器检查收到的所述GOP和所述音频包的正确性;
[0010]所述转码服务器将正确接收的GOP和音频包进行转码;
[0011]所述转码服务器将转码后的GOP和音频包发送到封装服务器;
[0012]所述封装服务器检测是否收到了所有的所述转码后的GOP以及音频包;
[0013]所述封装服务器在检测收到了所有的所述转码后的GOP以及音频包后,将所述转码后的GOP以及音频包封装为转码后的视频文件。
[0014]本发明的另一个方面,提供一种分布式视频转码的纠错系统,包括:
[0015]解封装服务器、转码服务器,以及封装服务器;
[0016]所述解封装服务器用于将视频文件解封装,得到至少一个画面组GOP和至少一个音频包,为所述至少一个GOP以及音频包分配编号;[0017]所述解封装服务器还用于将所述GOP和所述音频包发送到转码服务器;
[0018]所述转码服务器用于检查收到的所述GOP和所述音频包的正确性;
[0019]所述转码服务器还用于将正确接收的GOP和音频包进行转码;
[0020]所述转码服务器还用于将转码后的GOP和音频包发送到封装服务器;
[0021]所述封装服务器用于检测是否收到了所有的所述转码后的GOP以及音频包;
[0022]所述封装服务器还用于在检测收到了所有的所述转码后的GOP以及音频包后,将所述转码后的GOP以及音频包封装为转码后的视频文件。
[0023]使用本发明实施例公开的分布式视频转码的纠错方法及系统,解封装服务器会对解码产生的GOP和音频包进行编号,转码服务器在对GOP和音频包进行转码操作之前会对接收的GOP和音频包的正确性进行验证,确保只有正确接收的GOP和音频包才会被转码;与此同时,封装服务器收到转码后的GOP和音频包之后会对它们的完整性进行验证,只在确定收到了所有转码后的GOP和音频包之后才进行封装操作,保证了转码后的视频文件的完整性。通过本发明实施例中的解封装服务器、转码服务器以及封装服务器的分工配合,能够最大限度地对分布式视频转码的错误进行纠正,提高分布式视频转码的正确性。
【专利附图】

【附图说明】
[0024]图1所示是一种分布式视频转码的系统示意图;
[0025]图2所示是本发明实施例提供的一种分布式视频转码的纠错方法的示意图;
[0026]图3所示是本发明实施例提供的一种封装服务器检测未收到所有的所述转码后的GOP以及音频包之后的处理方法示意图;
[0027]图4所示是本发明实施例提供的一种分布式视频转码的纠错系统的结构示意图。【具体实施方式】
[0028]在本发明实施例中,解封装服务器会对解码产生的GOP和音频包进行编号,转码服务器在对GOP和音频包进行转码操作之前会对接收的GOP和音频包的正确性进行验证,确保只有正确接收的GOP和音频包才会被转码;与此同时,封装服务器收到转码后的GOP和音频包之后会对它们的完整性进行验证,只在确定收到了所有转码后的GOP和音频包之后才进行封装操作,保证了转码后的视频文件的完整性。
[0029]以下详细说明本发明实施例提供的分布式视频转码的纠错方法。
[0030]图2所示为本发明一个实施例提供的分布式视频转码的纠错方法示意图,根据该图,详述各步骤如下:
[0031]步骤201、解封装服务器将视频文件解封装,得到至少一个画面组GOP和至少一个音频包,为所述至少一个GOP以及音频包分配编号;
[0032]步骤202、所述解封装服务器将所述GOP和所述音频包发送到转码服务器;
[0033]其中,所述解封装服务器将所述GOP和所述音频包发送到转码服务器的同时,还包括:
[0034]备份所述GOP以及所述音频包。
[0035]步骤203、所述转码服务器检查收到的所述GOP和所述音频包的正确性;
[0036]其中,所述转码服务器检查收到的所述GOP和所述音频包的正确性,包括:[0037]所述转码服务器根据预设的数据长度检查所述GOP或者所述音频包的正确性;
[0038]若所述GOP或者所述音频包的数据长度与所述预设的数据长度相符,则所述GOP或者所述音频包正确接收;
[0039]若所述GOP或者所述音频包的数据长度与所述预设的数据长度不相符,则所述GOP或者所述音频包未正确接收。
[0040]若所述GOP或者所述音频包未正确接收,还包括:
[0041]所述转码服务器丢弃所述未正确接收的GOP或者音频包。
[0042]在所述转码服务器丢弃所述未正确接收的GOP或者音频包之后,还可以包括:所述转码服务器请求所述解封装服务器重新发送所述未正确接收的GOP或者音频包。
[0043]步骤204、所述转码服务器将正确接收的GOP和音频包进行转码;
[0044]步骤205、所述转码服务器将转码后的GOP和音频包发送到封装服务器;
[0045]步骤206、所述封装服务器检测是否收到了所有的所述转码后的GOP以及音频包;
[0046]其中,所述封装服务器检测是否收到了所有的所述转码后的GOP以及音频包,包括:
[0047]所述封装服务器定时检测是否收到了所有的所述转码后的GOP以及音频包。
[0048]步骤207、所述封装服务器在检测收到了所有的所述转码后的GOP以及音频包后,将所述转码后的GOP以及音频包封装为转码后的视频文件。
[0049]其中,图3所示为封装服务器检测未收到所有的所述转码后的GOP以及音频包之后的处理方法示意图。依据该图,介绍该方法如下:
[0050]若所述封装服务器检测未收到所有的所述转码后的GOP以及音频包,则:
[0051 ] 步骤301、所述封装服务器向所述解封装服务器发送纠错请求,所述纠错请求中包括缺失的GOP或者音频包的编号;
[0052]其中,所述封装服务器向所述解封装服务器发送纠错请求,包括:
[0053]所述封装服务器检测到缺失的GOP或者音频包;
[0054]若经过预设的时长后仍未收到所述缺失的GOP或者音频包,则所述封装服务器向所述解封装服务器发送纠错请求。
[0055]步骤302、所述解封装服务器根据所述缺失的GOP或者音频包的编号在所述备份的GOP或者音频包中提取缺失的GOP或者音频包;
[0056]步骤303、所述解封装服务器将所述缺失的GOP或者音频包发送到所述转码服务器;
[0057]步骤304、所述转码服务器将所述缺失的GOP或者音频包进行转码;
[0058]步骤305、所述转码服务器将所述转码后的GOP或者音频包发送到封装服务器;
[0059]步骤306、所述封装服务器在检测收到了所有的所述转码后的GOP以及音频包后,将所述转码后的GOP以及音频包封装为转码后的视频文件。
[0060]使用本发明实施例公开的分布式视频转码的纠错方法,解封装服务器会对解码产生的GOP和音频包进行编号,转码服务器在对GOP和音频包进行转码操作之前会对接收的GOP和音频包的正确性进行验证,确保只有正确接收的GOP和音频包才会被转码;与此同时,封装服务器收到转码后的GOP和音频包之后会对它们的完整性进行验证,只在确定收到了所有转码后的GOP和音频包之后才进行封装操作,保证了转码后的视频文件的完整性。通过本发明实施例中的解封装服务器、转码服务器以及封装服务器的分工配合,能够最大限度地对分布式视频转码的错误进行纠正,提高分布式视频转码的正确性。
[0061]以下介绍一种分布式视频转码的纠错系统,用以执行前述实施例中公开的分布式视频转码的纠错方法。
[0062]图4所示为本发明一个实施例提供的一种分布式视频转码的纠错系统的结构示意图。依据该图,详述系统中的各组成部分以及各自的作用如下:
[0063]本发明实施例提供的分布式视频转码的纠错系统包括:解封装服务器401、转码服务器402,以及封装服务器403。其中,转码服务器402的个数至少为一个。
[0064]所述解封装服务器401用于将视频文件解封装,得到至少一个画面组GOP和至少一个音频包,为所述至少一个GOP以及音频包分配编号;
[0065]所述解封装服务器401还用于将所述GOP和所述音频包发送到转码服务器;
[0066]所述解封装服务器401将所述GOP和所述音频包发送到转码服务器的同时,还用于:
[0067]备份所述GOP以及所述音频包。
[0068]所述转码服务器402用于检查收到的所述GOP和所述音频包的正确性;
[0069]其中,所述转码服务器402检查收到的所述GOP和所述音频包的正确性,包括:
[0070]所述转码服务器根据预设的数据长度检查所述GOP或者所述音频包的正确性;
[0071]若所述GOP或者所述音频包的数据长度与所述预设的数据长度相符,则所述GOP或者所述音频包正确接收;
[0072]若所述GOP或者所述音频包的数据长度与所述预设的数据长度不相符,则所述GOP或者所述音频包未正确接收。
[0073]若所述GOP或者所述音频包未正确接收,所述转码服务器402还用于:
[0074]丢弃所述未正确接收的GOP或者音频包。
[0075]所述转码服务器402还用于将正确接收的GOP和音频包进行转码;
[0076]所述转码服务器402还用于将转码后的GOP和音频包发送到封装服务器;
[0077]所述封装服务器403用于检测是否收到了所有的所述转码后的GOP以及音频包;
[0078]所述封装服务器403还用于在检测收到了所有的所述转码后的GOP以及音频包后,将所述转码后的GOP以及音频包封装为转码后的视频文件。
[0079]若所述封装服务器403检测未收到所有的所述转码后的GOP以及音频包,则:
[0080]所述封装服务器还用于向所述解封装服务器发送纠错请求,所述纠错请求中包括缺失的GOP或者音频包的编号;
[0081]所述解封装服务器还用于根据所述缺失的GOP或者音频包的编号在所述备份的GOP或者音频包中提取缺失的GOP或者音频包;
[0082]所述解封装服务器还用于将所述缺失的GOP或者音频包发送到所述转码服务器;
[0083]所述转码服务器还用于将所述缺失的GOP或者音频包进行转码;
[0084]所述转码服务器还用于将所述转码后的GOP或者音频包发送到封装服务器;
[0085]所述封装服务器还用于在检测收到了所有的所述转码后的GOP以及音频包后,将所述转码后的GOP以及音频包封装为转码后的视频文件。
[0086]使用本发明实施例公开的分布式视频转码的纠错系统,解封装服务器会对解码产生的GOP和音频包进行编号,转码服务器在对GOP和音频包进行转码操作之前会对接收的GOP和音频包的正确性进行验证,确保只有正确接收的GOP和音频包才会被转码;与此同时,封装服务器收到转码后的GOP和音频包之后会对它们的完整性进行验证,只在确定收到了所有转码后的GOP和音频包之后才进行封装操作,保证了转码后的视频文件的完整性。通过本发明实施例中的解封装服务器、转码服务器以及封装服务器的分工配合,能够最大限度地对分布式视频转码的错误进行纠正,提高分布式视频转码的正确性。
[0087]本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟、光盘、网络节点、调度器等各种可以存储程序代码的介质。
[0088]最后应说明的是:以上仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种分布式视频转码的纠错方法,其特征在于,包括: 解封装服务器将视频文件解封装,得到至少一个画面组GOP和至少一个音频包,为所述至少一个GOP以及音频包分配编号; 所述解封装服务器将所述GOP和所述音频包发送到转码服务器; 所述转码服务器检查收到的所述GOP和所述音频包的正确性; 所述转码服务器将正确接收的GOP和音频包进行转码; 所述转码服务器将转码后的GOP和音频包发送到封装服务器; 所述封装服务器检测是否收到了所有的所述转码后的GOP以及音频包; 所述封装服务器在检测收到了所有的所述转码后的GOP以及音频包后,将所述转码后的GOP以及音频包封装为转码后的视频文件。
2.根据权利要求1所述的方法,其特征在于,所述解封装服务器将所述GOP和所述音频包发送到转码服务器的同时,还包括: 备份所述GOP以及所述音频包。
3.根据权利要求2所述的方法,其特征在于,若所述封装服务器检测未收到所有的所述转码后的GOP以及 音频包,则: 所述封装服务器向所述解封装服务器发送纠错请求,所述纠错请求中包括缺失的GOP或者音频包的编号; 所述解封装服务器根据所述缺失的GOP或者音频包的编号在所述备份的GOP或者音频包中提取缺失的GOP或者音频包; 所述解封装服务器将所述缺失的GOP或者音频包发送到所述转码服务器; 所述转码服务器将所述缺失的GOP或者音频包进行转码; 所述转码服务器将所述转码后的GOP或者音频包发送到封装服务器; 所述封装服务器在检测收到了所有的所述转码后的GOP以及音频包后,将所述转码后的GOP以及音频包封装为转码后的视频文件。
4.根据权利要求3所述的方法,其特征在于,所述封装服务器向所述解封装服务器发送纠错请求,包括: 所述封装服务器检测到缺失的GOP或者音频包; 若经过预设的时长后仍未收到所述缺失的GOP或者音频包,则所述封装服务器向所述解封装服务器发送纠错请求。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述封装服务器检测是否收到了所有的所述转码后的GOP以及音频包,包括: 所述封装服务器定时检测是否收到了所有的所述转码后的GOP以及音频包。
6.根据权利要求1所述的方法,其特征在于,所述转码服务器检查收到的所述GOP和所述音频包的正确性,包括: 所述转码服务器根据预设的数据长度检查所述GOP或者所述音频包的正确性; 若所述GOP或者所述音频包的数据长度与所述预设的数据长度相符,则所述GOP或者所述音频包正确接收; 若所述GOP或者所述音频包的数据长度与所述预设的数据长度不相符,则所述GOP或者所述音频包未正确接收。
7.根据权利要求6所述的方法,其特征在于,若所述GOP或者所述音频包未正确接收,还包括: 所述转码服务器丢弃所述未正确接收的GOP或者音频包。
8.根据权利要求7所述的方法,其特征在于,还包括: 所述转码服务器请求所述解封装服务器重新发送所述未正确接收的GOP或者音频包。
9.一种分布式视频转码的纠错系统,其特征在于,包括: 解封装服务器、转码服务器,以及封装服务器; 所述解封装服务器用于将视频文件解封装,得到至少一个画面组GOP和至少一个音频包,为所述至少一个GOP以及音频包分配编号; 所述解封装服务器还用于将所述GOP和所述音频包发送到转码服务器; 所述转码服务器用于检查收到的所述GOP和所述音频包的正确性; 所述转码服务器还用于将正确接收的GOP和音频包进行转码; 所述转码服务器还用于将转码后的GOP和音频包发送到封装服务器; 所述封装服务器用于检测是否收到了所有的所述转码后的GOP以及音频包; 所述封装服务器还用于在检测收到了所有的所述转码后的GOP以及音频包后,将所述转码后的GOP以及音频包封装为转码后的视频文件。
10.根据权利要求9所述的系统`,其特征在于,所述解封装服务器将所述GOP和所述音频包发送到转码服务器的同时,还用于: 备份所述GOP以及所述音频包。
11.根据权利要求10所述的系统,其特征在于,若所述封装服务器检测未收到所有的所述转码后的GOP以及音频包,则: 所述封装服务器还用于向所述解封装服务器发送纠错请求,所述纠错请求中包括缺失的GOP或者音频包的编号; 所述解封装服务器还用于根据所述缺失的GOP或者音频包的编号在所述备份的GOP或者音频包中提取缺失的GOP或者音频包; 所述解封装服务器还用于将所述缺失的GOP或者音频包发送到所述转码服务器; 所述转码服务器还用于将所述缺失的GOP或者音频包进行转码; 所述转码服务器还用于将所述转码后的GOP或者音频包发送到封装服务器; 所述封装服务器还用于在检测收到了所有的所述转码后的GOP以及音频包后,将所述转码后的GOP以及音频包封装为转码后的视频文件。
12.根据权利要求9-11中任一项所述的系统,其特征在于,所述转码服务器检查收到的所述GOP和所述音频包的正确性,包括: 所述转码服务器根据预设的数据长度检查所述GOP或者所述音频包的正确性; 若所述GOP或者所述音频包的数据长度与所述预设的数据长度相符,则所述GOP或者所述音频包正确接收; 若所述GOP或者所述音频包的数据长度与所述预设的数据长度不相符,则所述GOP或者所述音频包未正确接收。
13.根据权利要求12所述的系统,其特征在于,若所述GOP或者所述音频包未正确接收,所述转码服务器还用于:丢弃所述未正确接收的GOP或者音频包。
14.根据权利要求 9所述的系统,其特征在于,所述转码服务器的个数为至少一个。
【文档编号】H04N19/89GK103634578SQ201310637085
【公开日】2014年3月12日 申请日期:2013年12月2日 优先权日:2013年12月2日
【发明者】张金良 申请人:天脉聚源(北京)传媒科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1