一种云环境中基于独立视频帧的视频转码方法

文档序号:7943389阅读:185来源:国知局
专利名称:一种云环境中基于独立视频帧的视频转码方法
技术领域
本发明涉及一种云环境中基于独立视频帧的视频转码方法,属于视频处理技术领域。
背景技术
随着互联网和多媒体技术的不断发展和演化,多媒体应用也越来越广泛,不同的应用对视频编解码器、视频数据存储格式、网络传输设备等都有不同的要求。针对特定领域制订的编码标准也不尽相同,多媒体平台对视频格式的要求也各不相同。为了使得异构网络之间,不同的接入设备之间,不同多媒体数据格式之间以及不同的媒体标准间和标准内能够无缝连接、透明交换,视频转码技术就显得尤为重要。然而,随着单个视频数据量的急剧增大,以及流媒体等视频应用的日益普及,传统视频处理方法的时间开销越来越大,已经不能满足人们的需求。为了能快捷、有效地播放视频,需要将视频转码成与视频设备分辨率大小相同的视频,这样使得视频处理更加复杂多变,传统视频处理方法的劣势更加突出。因此传统的视频转码方法对大文件的视频转码效率很低,而且不支持扩展性。

发明内容
本发明的目的是提出一种云环境中基于独立视频帧的视频转码方法,以克服现有的传统的视频转码中的缺点,根据云计算的原理,将大文件的视频分割成小文件视频,在多个计算机上同时进行转码,提高转码效率,并且继承云计算的特点,使其具有良好的扩展性。本发明提出的一种云环境中基于独立视频帧的视频转码方法,包括以下步骤(1)将视频文件中的视频流与音频流分开;(2)将上述视频流分成η个时间长度相等的视频流片断,获得每个视频流片断对应的起始时间和结束时间,η为大于或者等于1的整数,并为每个视频流片断设定一个字符串,该字符串由视频文件名、一个空格、该视频流片断对应的起始时间、一个空格、该视频流片断对应的结束时间、一个空格、设定的转码后的视频流片断的宽度、一个空格、设定的转码后的视频流片断的高度、一个空格以及一个设定的该视频流片断的标识组成;(3)利用分布式编程方法,将上述字符串作为分布式编程模型中映射函数的输入, 转码后得到一个输出值,该输出值为一个值对,该值对中包括转码后的视频流片断的名称和该视频流片断的标识,该视频流片断的名称包括上述的视频文件名、设定的转码后的视频流片断的宽度和高度、一个下划线以及上述设定的该视频流片断的标识,重复上述过程, 得到所有视频流片断的转码后的值对;(4)将所有视频流片断的转码后的值对作为分布式编程模型中规约函数的输入, 将值对中视频流片断的标识按照升序排列,然后按照排列顺序将与标识相对应的视频流片断依次合并,生成一段完整的没有声音的视频流,并为该完整的没有声音的视频流设定一个名称,该名称由上述视频文件名、设定的转码后的视频流宽度和高度;(5)采用视频处理工具,将上述完整的没有声音的视频流与上述音频流根据时间戳进行同步,生成最终的视频文件,并输出。本发明提出的云环境中基于独立视频帧的视频转码方法,其优点是1、本发明方法根据云计算的原理把视频分成多份,分配到集群中的计算节点同时对这些视频片段执行转码操作,从而提高了视频转码的效率。2、本发明方法利用云环境对视频进行转码,继承了云计算的特点,具有很强的扩展性和安全性。


图1是本发明方法的原理框图。图2是本发明方法分布式编程的过程示意图。
具体实施例方式本发明提出的云环境中基于独立视频帧的视频转码方法,其原理框图如图1所示,包括以下各步骤(1)将视频文件中的视频流与音频流分开。(2)将上述视频流分成η个时间长度相等的视频流片断,获得每个视频流片断对应的起始时间和结束时间,η为大于或者等于1的整数,并为每个视频流片断设定一个字符串,该字符串由视频文件名、一个空格、该视频流片断对应的起始时间、一个空格、该视频流片断对应的结束时间、一个空格、设定的转码后的视频流片断的宽度、一个空格、设定的转码后的视频流片断的高度、一个空格以及一个设定的该视频流片断的标识组成。在本实施例中,η为集群中所有计算机数量的2倍;为视频流片断设定的字符串格式如“ΧΧ 0:01:000:30 420 3601 ”,表示对文件名为χχ的视频文件从1分钟处开始,长度为30秒的视频流片断执行转码操作,转码后的视频流片断的宽度是420,高度是360,转码后的视频流片断标识为1。(3)利用分布式编程方法,将上述字符串作为分布式编程模型中映射函数的输入, 转码后得到一个输出值,该输出值为一个值对,该值对中包括转码后的视频流片断的名称和该视频流片断的标识,该视频流片断的名称包括上述的视频文件名、设定的转码后的视频流片断的宽度和高度、一个下划线以及上述设定的该视频流片断的标识,重复上述过程, 得到所有视频流片断的转码后的值对。在本实施例中,分布式编程方法的原理框图如图2所示,先将大文件分成η个小文件,η为大于或等于1的整数,然后在计算机上同时对η个小文件进行处理,最后再合并处理得到的结果。映射函数的输出为一个值对,如<χχ420360_1,1>,χχ420360_1为转码后的视频流片断的名称,其中χχ表示视频文件名,420表示转码后的视频流片断的宽度,360表示转码后的视频流片断的高度,1表示视频流片断的标识。(4)将所有视频流片断的转码后的值对作为分布式编程模型中规约函数的输入, 将值对中视频流片断的标识按照升序排列,然后按照排列顺序将与标识相对应的视频流片断依次合并,生成一段完整的没有声音的视频流,并为该完整的没有声音的视频流设定一个名称,该名称由上述视频文件名、设定的转码后的视频流宽度和高度。在本实施例中,完整的没有声音的视频流的名称格式,如“XX420360”,其中xx表示视频文件名,420表示转码后的视频流片断的宽度,360表示转码后的视频流片断的高度。(5)采用视频处理工具,将上述完整的没有声音的视频流与上述音频流根据时间戳进行同步,生成最终的视频文件,并输出。
权利要求
1. 一种云环境中基于独立视频帧的视频转码方法,其特征在于该方法包括以下步骤(1)将视频文件中的视频流与音频流分开;(2)将上述视频流分成η个时间长度相等的视频流片断,获得每个视频流片断对应的起始时间和结束时间,η为大于或者等于1的整数,并为每个视频流片断设定一个字符串, 该字符串由视频文件名、一个空格、该视频流片断对应的起始时间、一个空格、该视频流片断对应的结束时间、一个空格、设定的转码后的视频流片断的宽度、一个空格、设定的转码后的视频流片断的高度、一个空格以及一个设定的该视频流片断的标识组成;(3)利用分布式编程方法,将上述字符串作为分布式编程模型中映射函数的输入,转码后得到一个输出值,该输出值为一个值对,该值对中包括转码后的视频流片断的名称和该视频流片断的标识,该视频流片断的名称包括上述的视频文件名、设定的转码后的视频流片断的宽度和高度、一个下划线以及上述设定的该视频流片断的标识,重复上述过程,得到所有视频流片断的转码后的值对;(4)将所有视频流片断的转码后的值对作为分布式编程模型中规约函数的输入,将值对中视频流片断的标识按照升序排列,然后按照排列顺序将与标识相对应的视频流片断依次合并,生成一段完整的没有声音的视频流,并为该完整的没有声音的视频流设定一个名称,该名称由上述视频文件名、设定的转码后的视频流宽度和高度;(5)采用视频处理工具,将上述完整的没有声音的视频流与上述音频流根据时间戳进行同步,生成最终的视频文件,并输出。
全文摘要
本发明涉及一种云环境中基于独立视频帧的视频转码方法,属于视频处理技术领域。该方法是把视频文件转化为原始的视频,使得视频帧之间不存在互相参考或依赖,把视频按视频帧数平均分成若干视频片段,然后利用分布式编程模型调度这些视频片段到集群中的计算节点进行转码操作,最后合并转码后视频片段,输出转码后的视频文件。本发明方法根据云计算的原理把视频分成多份,分配到集群中的计算节点同时对这些视频片段执行转码操作,从而提高了视频转码的效率。本发明方法利用云环境对视频进行转码,继承了云计算的特点,具有很强的扩展性和安全性。
文档编号H04N7/26GK102333219SQ20111031932
公开日2012年1月25日 申请日期2011年10月19日 优先权日2011年10月19日
发明者刘璋, 岳永胜, 王建民, 王朝坤 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1