一种分布式转码音视频合成的方法及系统的制作方法

文档序号:9420753阅读:417来源:国知局
一种分布式转码音视频合成的方法及系统的制作方法
【技术领域】
[0001]本申请涉及音视频转码处理技术,具体地说,涉及一种分布式转码音视频合成的方法及系统。
【背景技术】
[0002]当前,为了使用或对音视频文件进行分析,经常需要将一种编码格式下的音视频文件转换为另一种编码格式下的音视频文件,但在转码过程中,音视频分离,音频和视频独立进行转码,在合成音视频时,因为视频转码时间比音频的长,容易产生音频或视频数据堆积的情况,即普通的转码方式可能导致播放不流畅、音视频不同步或需要耗费播放器更多资源的问题。比如,在由一种针对H.264格式情况下的音视频在转换成H.265格式的文件时,就会出现音视频不同步问题,并且由于H.265编码格式算法复杂,计算量大,转码时间慢,因此不同步的问题会更加突出。

【发明内容】

[0003]有鉴于此,本申请所要解决的技术问题是提供了一种分布式转码音视频合成的方法及系统,解决了现有技术中普通的转码方式会导致播放不流畅、音视频不同步或需要耗费播放器更多资源的问题。
[0004]为了解决上述技术问题,本申请有如下技术方案:
[0005]本发明提供一种分布式转码音视频合成的方法,其特征在于,包括:获取音视频文件;对所述音视频文件进行解复用,获得第一编码格式编码的音频文件和第二编码格式编码的视频文件;对所述第一编码格式编码的音频文件采用第三编码格式进行编码,对所述第二编码格式编码的视频文件采用第四编码格式进行编码,分别获得第三编码格式编码的音频文件和第四编码格式编码的视频文件;对所述第三编码格式编码的音频文件和所述第四编码格式编码的视频文件分别用各自容器进行封装;将封装后的音视频文件进行复用;其中所述第三编码格式不同于所述第一编码格式,所述第四编码格式不同于所述第二编码格式。
[0006]本发明还提供一种分布式转码音视频合成的系统,其特征在于,包括:音视频模块、解复用模块、音频编码模块、视频编码模块、音频封装模块、视频封装模块和复用模块;其中,所述音视频模块,与所述解复用模块耦接,用于提供音视频文件;所述解复用模块,与所述音视频模块、所述音频编码模块和所述视频编码模块耦接,用于对所述音视频文件进行解复用,获得第一编码格式编码的音频文件和第二编码格式编码的视频文件;所述音频编码模块,与所述解复用模块和所述音频封装模块耦接,用于对所述第一编码格式编码的音频文件采用第三编码格式进行编码,获得第三编码格式编码的音频文件;所述视频编码模块,与所述解复用模块和所述视频封装模块耦接,用于对所述第二编码格式编码的视频文件采用第四编码格式进行编码,获得第四编码格式编码的视频文件;所述音频封装模块,与所述音频编码模块和所述复用模块耦接,用于对所述第三编码格式编码的音频文件进行封装;所述视频封装模块,与所述视频编码模块和所述复用模块耦接,用于对所述第四编码格式编码的视频文件进行封装;所述复用模块,与所述音频封装模块和所述视频封装模块耦接,用于将封装后的音视频文件进行复用。
[0007]与现有技术相比,本申请所述的方法和系统,达到了如下效果:
[0008]第一,本发明通过分别对音频和视频文件编码封装,使得音视频的解码可以按流里的时间顺序执行;
[0009]第二,本发明的方案通过比较帧的时间戳实现音视频文件的复用,使得耗费资源更少,加速音视频同步的处理。
【附图说明】
[0010]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0011]图1为本发明的所述一种分布式转码音视频合成的方法流程图;
[0012]图2为本发明的所述一种分布式转码音视频合成的方法的另一流程图;
[0013]图3为本发明的所述一种分布式转码音视频合成的系统结构示意图。
[0014]图4为本发明的所述一种分布式转码音视频合成的另一系统结构示意图。
【具体实施方式】
[0015]如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
[0016]实施例1
[0017]参见图1所示为本申请所述分布式转码音视频合成的方法的具体实施例,本实施例中所述方法包括以下步骤:
[0018]步骤101:获取音视频文件;
[0019]步骤102:对所述音视频文件进行解复用,获得第一编码格式编码的音频文件和第二编码格式编码的视频文件;
[0020]步骤103:对所述第一编码格式编码的音频文件采用第三编码格式进行编码,获得第二编码格式编码的首频文件;
[0021]步骤104:对所述第二编码格式编码的视频文件采用第四编码格式进行编码,获得第四编码格式编码的视频文件;
[0022]步骤105:对所述第三编码格式编码的音频文件用容器进行封装,
[0023]步骤106:对所述第四编码格式编码的视频文件用容器进行封装;
[0024]步骤107:将封装后的音视频文件进行复用;
[0025]其中所述第三编码格式不同于所述第一编码格式,所述第四编码格式不同于所述第二编码格式。
[0026]当所述音视频文件只含有音频文件时,则只对所述音频文件采用第三编码格式进行编码,并用容器封装。
[0027]当所述音视频文件只含有视频文件时,则只对所述视频文件采用第四编码格式进行编码,并用容器封装。
[0028]实施例2
[0029]为更详细说明本发明,请参见图2所示为本申请所述分布式转码音视频合成的方法的另一具体实施例,本实施例中所述方法包括以下步骤:
[0030]在实施例1中所述将封装后的音视频文件进行复用更包括:
[0031]步骤201:提取音频当前帧的解码时间戳(Decode Time Stamp,简称dts),转入步骤 203 ;
[0032]步骤202:提取视频当前帧的解码时间戳,转入步骤204 ;
[0033]步骤203:将所述音频当前帧的解码时间戳加上音频两帧之间的时间间隔,得到音频下一帧的解码时间戳;
[0034]步骤204:将所述视频当前帧的解码时间戳加上视频两帧之间的时间间隔,得到视频下一帧的解码时间戳;
[0035]步骤205:比较所述音频下一帧的解码时间戳是否小于所述视频下一帧的解码时间戳,若小于,则转入步骤206 ;若不小于,则转入步骤207 ;
[0036]步骤206:从音频文件请求下一帧音频数据,并加入合成文件;
[0037]步骤207:从视频文件请求下一帧视频数据,并加入合成文件。
[0038]其中,对音频请求所述音频当前帧是根据容器进行解析,得到帧数据的位置,按一帧大小提取,在音频文件内部按帧顺序提取。视频请求数据的过程类似。
[0039]这样得到的音视频文件是按解码时间顺序排好的。解码端更容易对码流进行同步播放。在播放端解码比普通的码流耗的资源相对少,如果是在线播放这种码流,需要下载的帧数比普通的码流下载的帧数更少便可以做同步。
[0040]实施例3
[0041]为更详细说明本发明,请参见图3所示为本申请所述分布式转码音视频合成的方法的另一具体实施例,本实施例中所述方法包括以下步骤:
[0042]步骤301:获取音视频文件;
[0043]步骤302:对所述音视频文件进行解复用,获得由音频编码3 (Aud1 Coding 3,以下简称AC3)编码的音频文件和H.264编码的视频文件;
[0044]步骤303:对所述AC3编码的音频文件采用高级音频编码(Advanced Aud1Coding,以下简称AAC)进行编码,获得第AAC编码首频文件;
[0045]步骤304:对所述H.264编码的视频文件采用H.265进行编码,获得H.265编码视频文件;
[0046]步骤305:对所述AAC编码音频文件用容器进行封装,
[0047]步骤306:对所述H.265编码视频文件用容器进行封装;
[0048]步骤307:将封装后的音视频文件进行复用;
[0049]接下来可以利用实施例2中的步骤,实现音视频文件的复用,不另赘述。
[0050]实施例4
[0051]为更详细说明本发明,请参见图4所示为本申请所述分布式转码音视频合成的系统的另一具体实施例,包括:音视频模块401、解复用模块402、音频编码模块403、视频编码模块404、音频封装模块405、视频封装模块406和复用模块4
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1