CN101771869B - 一种音视频编解码装置及方法 - Google Patents

一种音视频编解码装置及方法 Download PDF

Info

Publication number
CN101771869B
CN101771869B CN 200810241747 CN200810241747A CN101771869B CN 101771869 B CN101771869 B CN 101771869B CN 200810241747 CN200810241747 CN 200810241747 CN 200810241747 A CN200810241747 A CN 200810241747A CN 101771869 B CN101771869 B CN 101771869B
Authority
CN
China
Prior art keywords
file
video
audio
data
decoder
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.)
Expired - Fee Related
Application number
CN 200810241747
Other languages
English (en)
Other versions
CN101771869A (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.)
Wondershare Technology Co ltd
Original Assignee
Shenzhen Wondershare Software Co 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 Shenzhen Wondershare Software Co Ltd filed Critical Shenzhen Wondershare Software Co Ltd
Priority to CN 200810241747 priority Critical patent/CN101771869B/zh
Publication of CN101771869A publication Critical patent/CN101771869A/zh
Application granted granted Critical
Publication of CN101771869B publication Critical patent/CN101771869B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明提供了一种音视频编解码装置,包括:解码模块,用于导入媒体文件,调用相应的解码器对该媒体文件进行解码;播放模块,用于对解码后的音视频数据进行播放;转换控制模块,用于对解码后的音视频数据进行相关处理,包括:根据编码参数进行视频分辨率的缩放和添加效果处理,依据帧率和时间戳进行重复帧和丢帧处理,对音频数据进行采样率转换处理,按照数据量和时间戳对音频数据进行丢弃或填补静音数据的处理,以及将多个媒体文件连接成一个媒体文件的处理;编码模块,用于调用相应的编码器和媒体文件合成器,生成指定格式及相关参数的多媒体文件。本发明降低了用户***环境的依赖性,使得软件质量是可控的,并且可维护性强。

Description

一种音视频编解码装置及方法
技术领域
本发明涉及音视频编解码,特别涉及一种可降低对用户***环境依赖性及提高软件质量稳定性的音视频编解码装置及方法。
背景技术
现有技术一般采用DirectShow或FFMPEG进行音视频编解码。DirectShow是微软公司推出的基于COM(Component Object Model,组件对象模型)的流媒体处理的开发包,提供一种Windows平台上的流媒体开发框架,可用于Windows平台上的音视频编解码处理。而FFMPEG是开源爱好者开发的一个项目,集成了各种音频和视频的编解码,以及各种文件格式的转换,一般采用C语言和汇编语言进行开发,可以跨平台。
如果采用上述的DirectShow技术进行音视频编解码,会存在以下问题:
1)对用户***环境的依赖性高。采用DirectShow技术进行音视频编解码,依赖于***中存在的诸多第三方开发者开发的编解码组件,而这些组件通过安装一些播放器或一些专门的软件包获得,因此导致不同的***中存在组件很可能不同。
2)软件质量存在不确定性。由于采用依赖于第三方开发者开发的编解码组件,而这些组件的开发者各异,质量也参差不齐,导致一些文件运行在某些电脑上会报错,运行在某些电脑上没有问题。而且微软也准备逐渐放弃DirectShow这种架构,导致这种技术的前景暗淡。
如果采用上述的FFMPEG技术音视频编解码,会存在以下问题:
因为FFMPE是采用GPL协议,如果使用到该项目,那么软件必须开放源代码。而FFMPEG架构以及代码复杂庞大,而且没有注释,很难看懂。如果要修改存在的BUG或做必要扩展,则难度太高。并且FFMPEG主要是针对LINUX平台的,移植到WINDOWS平台则需要做大量的修改,使用起来不方便。
发明内容
本发明要解决的技术问题在于,如何针对现有技术中采用DirecShow技术对用户***环境的依赖性高和软件质量不确定性,以及采用FFMPEG技术难以维护和扩展的缺点,提供一种可降低对用户***环境依赖性及提高软件质量稳定性音视频编解码装置及方法。
本发明解决其技术问题所采用的技术方案是:一种音视频编解码装置,包括:
解码模块,用于导入媒体文件,调用相应的解码器对该媒体文件进行解码;
播放模块,用于对解码后的音视频数据进行播放;
转换控制模块,用于对解码后的音视频数据进行相关处理,包括:根据编码参数进行视频分辨率的缩放和添加效果处理,依据帧率和时间戳进行重复帧和丢帧处理,对音频数据进行采样率转换处理,按照数据量和时间戳对音频数据进行丢弃或填补静音数据的处理,以及将多个媒体文件连接成一个媒体文件的处理;
编码模块,包括编码器和媒体文件合成器,用于调用相应的编码器和媒体文件合成器,生成指定格式及相关参数的多媒体文件。
本发明中,所述解码模块具体包括多类型解码管理器、图像解码器、DirectShow解码器以及媒体文件解码器,
多类型解码管理器,用于将文件后缀名为图像类型文件后缀的媒体文件送入图像解码器进行解码,将文件后缀名为wmv、wma、rmvb以及rm的媒体文件送入DirectShow解码器进行解码,将除文件后缀名为wmv、wma、rmvb以及rm以外的媒体文件送入媒体文件解码器进行解码;
图像解码器,用于将解码后得到的YUV12(MPEG里都是按12bit一个点来存放的,通常简写为YUV12)类型的视频数据返回给多类型解码管理器;
DirectShow解码器,用于将解码后得到的YUV12类型的视频数据和/或16位PCM(Pulse Code Modulation,脉码调制录音)类型的音频数据返回给多类型解码管理器;
媒体文件解码器,用于将解码后得到的YUV12类型的视频数据和/或16位PCM类型的音频数据返回给多类型解码管理器。
本发明中,所述媒体文件解码器包括解码控制器、文件分离管理器、文件分离器插件、解码插件管理器、音频解码器插件以及视频解码器插件;
解码控制器调用文件分离管理器获取媒体文件信息,文件分离管理器根据后缀名调用相应的文件分离器插件获取文件信息,该文件信息包括音视频流的数目、文件的播放时间、各路流的参数,该参数包括视频的码率、分辨率、音频的采样率以及码率;
当播放模块或转换控制模块调用解码控制器获取下一YUV12类型的视频数据或16位PCM类型的音频数据时,解码控制器通过文件分离管理器调用对应的文件分离器插件从文件中顺序分离若干视频或音频压缩数据并传给解码控制器,并由解码控制器将数据传给解码插件管理器,解码插件管理器根据压缩数据的类型传送给音频解码器插件或视频解码器插件进行解码,并将解码出的YUV12类型的视频数据或16位PCM类型的音频数据返回给解码控制器。
本发明中,所述转换控制模块包括数据处理模块、文件连接模块以及转换模块,
数据处理模块对多类型解码管理器发来的解码后的音视频数据进行视频缩放、图像叠加、添加效果、视频显示区域比例转换、消除隔行扫描处理、平滑视频时间戳、音频采样率变换以及平滑音频时间戳处理;
文件连接模块对界面发来的文件连接处理的请求,进行文件连接处理处理,包括文件头时间戳对齐、文件尾时间戳对齐、文件的连接以及视频和音频时间戳的计算处理;
转换模块从文件连接模块获取需进行文件连接处理的音视频数据或从数据处理模块获取无需进行文件连接处理的音视频数据,对这些音视频数据进行转换逻辑处理,包括当视频时间戳小于或等于音频时间戳时,调用编码模块的视频接口将视频数据写入编码器进行编码,当视频时间戳大于音频时间戳时,调用编码模块中的音频接口将音频数据写入编码器进行编码。
本发明中,所述编码模块还包括编码管理器,所述编码器包括音频编码器插件和视频编码器插件,所述媒体文件合成器包括媒体文件合成器插件,
转换控制模块将音频数据写入编码管理器中,编码管理器通过调用对应的音频编码器插件对音频数据进行编码,转换控制模块将视频数据写入编码管理器中,编码管理器通过调用对应的视频编码器插件对视频数据进行编码,编码完成后,编码管理器调用相应的媒体文件合成器插件,把编码后的数据按照对应的媒体文件格式标准写入媒体文件。
为解决问题的另一方面,本发明还公开了一种音视频编解码方法,包括如下步骤:
A、导入媒体文件,调用相应的解码器对该媒体文件进行解码;
B、对解码后的音视频数据选择播放,或对解码后的音视频数据进行相关处理,包括:根据编码参数进行视频分辨率的缩放和添加效果处理,依据帧率和时间戳进行重复帧和丢帧处理,对音频数据进行采样率转换处理,按照数据量和时间戳对音频数据进行丢弃或填补静音数据的处理,以及将多个媒体文件连接成一个媒体文件的处理;
C、调用相应的编码器和媒体文件合成器进行编码,生成指定格式及相关参数的多媒体文件。
本发明中,所述步骤A中,在进行解码之前还包括判断该媒体文件的类型,具体包括:
A1、如果文件后缀名为图像类型文件后缀,包括但不限于bmp、jpg、png,则调用图像解码器进行解码,得到YUV12类型的视频数据。
A2、如果文件后缀为wmv、wma、rmvb、rm,则调用DirectShow解码器进行解码,视频解码后得到YUV12数据,音频解码后得到16位PCM类型的音频数据。
A3、如果文件后缀为除wmv、wma、rmvb、rm之外的其他媒体文件后缀,包括但不限于mpg、mp4、ogg,则调用媒体文件解码器进行解码,视频解码后得到YUV12类型的视频数据,音频解码后得到16位PCM类型的音频数据。如果解码失败则采用DirectShow解码器进行解码。
本发明中,所述步骤A3中,解码的过程具体包括:
A31,获取文件信息的步骤,该步骤中解码控制器调用文件分离管理器获取媒体文件信息,文件分离管理器根据后缀名调用相应的文件分离器插件获取文件信息;
A32,视频解码的步骤,该步骤中当播放模块或转换控制模块调用解码控制器获取的视频数据和/或音频数据时,解码控制器通过文件分离管理器调用对应的文件分离器插件从文件中顺序分离若干视频压缩数据和/或音频压缩数据并传给解码控制器,并由解码控制器将数据传给解码插件管理器,解码插件管理器根据压缩数据的类型传送给视频解码器插件和/或音频解码器插件进行解码,并将解码出的YUV12类型的视频数据和/或16位PCM类型的音频数据返回给解码控制器。
本发明中,所述步骤B中,所述对解码后的音视频数据进行相关处理的步骤包括:
B1,数据处理模块对解码后的音视频数据进行视频缩放、图像叠加、添加效果、视频显示区域比例转换、消除隔行扫描处理、平滑视频时间戳、音频采样率变换以及平滑音频时间戳处理;
B2,文件连接模块对界面发来的文件连接处理的请求,进行文件连接处理处理,包括文件头时间戳对齐、文件尾时间戳对齐、文件的连接以及视频和音频时间戳的计算处理;
B3,转换模块从文件连接模块获取需进行文件连接处理的音视频数据或从数据处理模块获取无需进行文件连接处理的音视频数据,对这些音视频数据进行转换逻辑处理,包括当视频时间戳小于或等于音频时间戳时,调用编码模块的视频接口将视频数据写入编码器进行编码,当视频时间戳大于音频时间戳时,调用编码模块中的音频接口将音频数据写入编码器进行编码。
本发明中,所述步骤C具体包括:
C1,转换控制模块将音频数据写入编码管理器中,并由编码管理器通过调用对应的音频编码器插件对音频数据进行编码,转换控制模块将视频数据写入编码管理器中,并由编码管理器通过调用对应的视频编码器插件对视频数据进行编码;
C2,编码完成后,编码管理器调用相应的媒体文件合成器插件,把编码后的数据按照对应的媒体文件格式标准写入媒体文件。
实施本发明提供一种音视频编解码装置及方法,与现有的技术相比,具有如下优点:
1)降低了对用户***环境的依赖性,提高了软件质量的确定性。
对于WMV,WMA,RM,RMVB格式,微软和Real公司提供的非常可靠和稳定的组件进行编解码,而且每台WINDOWS平台的电脑都拥有这类组件,对于这类格式采用了DirectShow技术进行编解码;而对于其他格式,则根据不同文件格式的标准,开发出各类媒体文件的音视频分离器和媒体文件合成器,再根据各个编码格式的标准,开发出解码器和编码器。另外,对于一些技术难度高的编码器,还可以通过选择购买一些非常成熟和稳定的商业SDK来实现。对音视频流分别采用模式和基于时间戳进行音视频同步的方法,设计和开发出解码平台,因此降低了用户***环境的依赖性,并且软件质量也是可控的。
2)易于维护。
由于本发明的编解码和媒体文件分离、合成部分大都依据公开标准自行开发,而且拥有详细的开发文档,可维护性强,不需要公布相关源代码。而另一部分是通过购买一些成熟和稳定的商业SDK来实现的,可以通过售后服务来解决一些BUG。
附图说明
图1是说明本发明所述音视频编解码方法实施例的流程图;
图2是图1中进入解码过程的数据进行判断处理的数据流图;
图3是图2中进行编解码数据处理的数据流图;
图4是图1中文件连接处理的调用过程的数据流图;
图5是图1中生成多媒体文件的数据流图。
具体实施方式
为使审查员对本发明的结构特征及所具有的功能有更进一步的了解与认识,用以较佳的实施例及附图配合详细的说明,说明如下:
如图1所示,按照本发明的音视频编解码装置主要包括:解码模块、播放模块、转换控制模块以及编码模块四大部分。按照本发明的音视频编解码方法,各个组成部分是这样进行工作的。
步骤S1,解码模块导入媒体文件,调用相应的解码器对该媒体文件进行解码。其中解码模块具体包括多类型解码管理器、图像解码器、DirectShow解码器以及媒体文件解码器,该步骤S1中对于进入解码过程的音视频数据,作如下处理(如图2所示):
A1,如果文件后缀名为图像类型文件后缀,如bmp、jpg、png等,则多类型解码管理器调用图像解码器进行解码,得到YUV12(MPEG里都是按12bit一个点来存放的,通常简写为YUV12)类型的视频数据。
A2,如果文件后缀为wmv、wma、rmvb、rm,则多类型解码管理器调用DirectShow解码器进行解码,视频解码后得到YUV12类型的视频数据,音频解码后得到16位PCM(Pulse Code Modulation,脉码调制录音)类型的音频数据。
A3,如果文件后缀为除wmv、wma、rmvb、rm之外的其它媒体文件后缀,如mpg、mp4、ogg等,但不限于这几种格式,则多类型解码管理器调用媒体文件解码器进行解码,视频解码后得到YUV12数据,音频解码后得到16位PCM类型的音频数据。如果解码失败则采用DirectShow方式进行解码。
具体的,所述媒体文件解码器包括解码控制器、文件分离管理器、文件分离器插件、解码插件管理器、音频解码器插件以及视频解码器插件,对于上述A3进一步包括(如图3所示):
A31,获取文件信息的过程。
解码控制器调用文件分离管理器,获取媒体文件信息,如包含音视频流的数目,文件的播放时间,各路流的参数(如视频的码率、分辨率、音频的采样率、码率等信息)。
文件分离管理器根据后缀名调用相应的文件分离器插件获取文件信息(如文件的类型等,因为每种类型的文件格式对应着一个文件分离器插件,这些插件是统一接口,便于扩展,而文件分离器插件是根据该格式对应的标准,分析文件中的相关数据,获取文件信息。例如MP4系列的文件分离器插件,可根据ISO14496中的内容,读取MP4文件中的特定数据,获得文件信息),如果获取失败,则调用其他类型的文件分离器插件,可解决因文件后缀名错误导致不能播放的问题。
A32,视频解码的过程。
当外界(播放模块或转换控制模块)调用解码控制器的Forward接口获取下一YUV12类型的视频数据的时候,解码控制器从文件分离管理器中调用GetBlock接口获取若干视频压缩数据,文件分离管理器调用对应的文件分离器插件的GetBlock接口,从文件中顺序分离若干视频压缩数据,并传给解码控制器。
解码控制器调用解码插件管理器的PutData接口,把数据传给解码插件管理器,解码插件管理器根据压缩数据的类型,调用对应的解码器插件的PutData接口,把压缩数据传递给解码器插件(各种解码器插件都是根据某种媒体格式的压缩以及解压缩标准编写的,如对H264视频压缩数据的解码,根据ISO/IEC的MPEG-4的第10部分所描述的内容,实现对H264的解码。这些插件是统一接口,便于扩展),然后解码控制器调用解码插件管理器的GetNextFrame接口获取一张视频图像的数据,解码插件管理器通过调用对应解码器插件中的GetNextFrame接口,对输入的压缩数据进行解码,获取一张视频图像的数据。如果输入的视频压缩数据不足以获取一张视频数据,那么可以重复上述过程,直到解码出一张YUV12类型的视频数据。
A33,音频解码过程与步骤A32的视频解码过程类似,这里不再重复描述。
步骤S2,对解码后的音视频数据可以选择播放。
步骤S3,对解码后的音视频数据,根据编码参数进行视频分辨率的缩放,添加效果等处理,依据帧率和时间戳,进行重复帧和丢帧等处理。对音频数据进行采样率变换,依据数据量和时间戳对音频数据进行丢弃或填补静音数据的处理,以及把多个文件连接成一个文件的处理。
具体的,所述转换控制模块包括数据处理模块、文件连接模块以及转换模块,图4为上述步骤S3中带文件连接处理的调用过程流程图,文件连接处理就是把多个文件转换成一个文件输出。
该图4中数据处理模块主要从多类型解码管理器中获取音视频数据,包括YUV12数据和16位PCM类型的音频数据,数据处理模块主要处理的步骤包括:
1)视频缩放。
根据双线性插值算法,将解码后的图像的分辨率转换成编码所需的分辨率。
2)图像叠加。
根据图像叠加算法,将其他图像(水印或用户指定的图片)叠加到解码后的图像上。
3)添加效果。
依据现有的各类特效算法,如浮雕效果算法,彩色转黑白算法,反色算法等,对解码出的图像进行效果变换处理。
4)视频显示区域比例转换。
根据双线性插值算法,把图像变化成4:3或16:9的显示方式。
5)消除隔行扫描处理。
用户通过选择消除隔行扫描方式,消除隔行扫描,包括:
a、重复奇数行,对于一个YUV12类型的视频图像,把奇数行的数据复制到偶数行,替换偶数行。
b、重复偶数行,对于一个YUV12类型的视频图像,把偶数行的数据复制到奇数行。
c、把相邻的两行奇数行中的各个数值取平均,替换之间的偶数行。
d、把相邻的两行偶数行中的各个值取平均,替换之间的奇数行。
6)平滑视频时间戳。
依据解码出来图像的时间戳,通过重复图像和丢弃图像使得输出的图像严格按照帧率输出。
7)音频采样率变换。
采用线性插值算法,把解码出来的音频采样率转换成编码所需的音频采样率。
8)平滑音频时间戳。
依据数据量和时间戳的关系,填充静音数据或丢弃数据,使得输出数据时间戳与数据量相对应。
该图4中文件连接模块主要处理的步骤包括:
1)文件头时间戳对齐。
一个媒体文件视频开始时间戳与音频开始时间戳并不一定一致,连接过程中会导致音视频不同步,因此需要将视频时间戳与音频时间戳对齐。对齐的方法就是将各路音视频流中开始时间戳最小的那路流的时间戳作为文件的开始时间戳,其余各路流需要按帧率补黑图像(视频)或者按数据量补静音数据(音频),进行对齐。
2)文件尾时间戳对齐。
一个媒体文件视频结束时间戳与音频结束时间戳并不一定一致,连接过程中也导致音视频不同步,因此需要将视频结束时间戳与音频结束时间戳对齐。对齐的方法就是将各路音视频流中结束时间戳最大那路流的时间戳作为文件的结束时间戳,其余各路流需要按帧率补黑图像(视频)或按数据量补静音数据(音频),进行对齐。
3)文件的连接。
当一个文件转换结束后,创建下一个文件的解码器,从解码器中获得的音频和视频数据的时间戳都要加上前面转换过的所有文件的持续时间之和。
4)视频和音频时间戳的计算方法。
从解码器中取得的时间戳需要减去文件的开始时间戳,加上前面转换过的所有文件的持续时间之和。例如:
a、文件A视频流开始时间戳是0秒,结束时间戳是5秒,帧率是10秒;音频流开始时间戳是1秒,结束时间戳是6秒,采样率是44100,声道数是1声道。
b、文件B视频流开始时间戳是2秒,结束时间戳是7秒,帧率是10秒;音频流开始时间戳是3秒,结束时间戳是7秒,采样率是44100,声道数是1声道。
c、连接两个文件:
第一步,文件头时间戳对齐,根据1)可知需要对音频流补1秒的静音数据。数据量为44100*16/8*1。
第二步,文件尾时间戳对齐,当视频播放完毕,需要按帧率补齐文件尾,依据频率需要补10张的黑图像,与音频对齐。
第三步,创建文件B的解码器,对文件B进行文件头时间戳对齐。文件A的持续时间为6-0=6秒,因此对于视频第一帧图像时间戳修改为2-2+6=6。
因此从文件连接模块中获取到的音视频数据的时间戳永远是连续的。
该图4中转换模块的转换处理包括:
如果需要进行文件连接处理,转换模块需要从文件连接模块中获取视频和音频数据;如果无需进行文件连接处理,那么转换模块则从数据处理模块中获取音视频数据。转换逻辑如下:
当拿到一张视频帧和音频数据后,判断视频时间戳是否小于音频时间戳,如果小于或等于音频时间戳,那么通过调用编码管理器中的FCWriteVideoFrame接口将视频数据写入编码器,进行编码;如果大于音频数据,那么通过调用编码管理器中的FCWriteAudioData接口将音频数据写入编码器,进行编码。转换模块调用文件连接模块的GetFrame接口获得下一帧数据,重复上述过程。
步骤S4,编码模块(包括编码器和媒体文件合成器)调用相应的编码器和媒体文件合成器进行编码生成指定格式及相关参数的多媒体文件。
具体的,所述编码模块还包括编码管理器,所述编码器包括音频编码器插件和视频编码器插件,所述媒体文件合成器包括媒体文件合成器插件,对于上述步骤S4进一步包括(如图5所示):
D1,转换控制器调用编码管理器中的FCWriteAudioData接口分别将16位PCM类型的音频数据写入编码管理器中;
D2,编码管理器通过调用对应的音频编码器插件对音频数据进行编码(大部分编码器插件,都是根据该编码对应的标准文献编码实现的;一部分编码器插件如MPG编码,通过购买例如MainConcept公司提供的SDK实现的);
D3,编码完成后,编码管理器通过调用相应的媒体文件合成器插件,把编码后的数据,按照对应的媒体文件格式标准,写入到媒体文件中;
D4,视频编码方式与音频编码方式类似。
综上所述,通过采用本发明技术方案,降低了用户***环境的依赖性,使得软件质量是可控的,并且由于编解码和媒体文件分离、合成部分大都是依照公开的标准进行,可维护性强。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

Claims (8)

1.一种音视频编解码装置,其特征在于,包括:
解码模块,用于导入媒体文件,调用相应的解码器对该媒体文件进行解码;
播放模块,用于对解码后的音视频数据进行播放;
编码模块,包括编码器和媒体文件合成器,用于调用相应的编码器和媒体文件合成器,生成指定格式及相关参数的多媒体文件;以及
转换控制模块,用于对解码后的音视频数据进行相关处理,包括:
数据处理模块,用于根据编码参数进行视频分辨率的缩放和添加效果处理,依据帧率和时间戳进行重复帧和丢帧处理,对音频数据进行采样率转换处理,按照数据量和时间戳对音频数据进行丢弃或填补静音数据的处理,以及
文件连接模块,用于将多个媒体文件连接成一个媒体文件的处理;
其中所述解码模块具体包括多类型解码管理器、图像解码器、DirectShow解码器以及媒体文件解码器,
多类型解码管理器,用于将文件后缀名为图像类型文件后缀的媒体文件送入图像解码器进行解码,将文件后缀名为wmv、wma、rmvb以及rm的媒体文件送入DirectShow解码器进行解码,将除文件后缀名为wmv、wma、rmvb以及rm以外的媒体文件送入媒体文件解码器进行解码;
图像解码器,用于将解码后得到的YUV12类型的视频数据返回给多类型解码管理器;
DirectShow解码器,用于将解码后得到的YUV12类型的视频数据和/或16位PCM类型的音频数据返回给多类型解码管理器;
媒体文件解码器,用于将解码后得到的YUV12类型的视频数据和/或16位PCM类型的音频数据返回给多类型解码管理器。
2.根据权利要求1所述的音视频编解码装置,其特征在于,所述媒体文件解码器包括解码控制器、文件分离管理器、文件分离器插件、解码插件管理器、音频解码器插件以及视频解码器插件;
解码控制器调用文件分离管理器获取媒体文件信息,文件分离管理器根据后缀名调用相应的文件分离器插件获取文件信息,该文件信息包括音视频流的数目、文件的播放时间、各路流的参数,该参数包括视频的码率、分辨率、音频的采样率以及码率;
当播放模块或转换控制模块调用解码控制器获取下一YUV12类型的视频数据时,解码控制器通过文件分离管理器调用对应的文件分离器插件从文件中顺序分离若干视频压缩数据并传给解码控制器,并由解码控制器将数据传给解码插件管理器,解码插件管理器根据压缩数据的类型传送给音频解码器插件或视频解码器插件进行解码,并将解码出的YUV12类型的视频数据或16位PCM类型的音频数据返回给解码控制器。
3.根据权利要求1所述的音视频编解码装置,其特征在于,所述数据处理模块对多类型解码管理器发来的解码后的音视频数据进行视频缩放、图像叠加、添加效果、视频显示区域比例转换、消除隔行扫描处理、平滑视频时间戳、音频采样率变换以及平滑音频时间戳处理;
所述文件连接模块对界面发来的文件连接处理的请求,进行文件连接处理处理,包括文件头时间戳对齐、文件尾时间戳对齐、文件的连接以及视频和音频时间戳的计算处理;
所述转换控制模块还包括转换模块,
所述转换模块从文件连接模块获取需进行文件连接处理的音视频数据或从数据处理模块获取无需进行文件连接处理的音视频数据,对这些音视频数据进行转换逻辑处理,包括当视频时间戳小于或等于音频时间戳时,调用编码模块的视频接口将视频数据写入编码器进行编码,当视频时间戳大于音频时间戳时,调用编码模块中的音频接口将音频数据写入编码器进行编码。
4.根据权利要求1所述的音视频编解码装置,其特征在于,所述编码模块还包括编码管理器,所述编码器包括音频编码器插件和视频编码器插件,所述媒体文件合成器包括媒体文件合成器插件,
转换控制模块将音频数据写入编码管理器中,编码管理器通过调用对应的音频编码器插件对音频数据进行编码,转换控制模块将视频数据写入编码管理器中,编码管理器通过调用对应的视频编码器插件对视频数据进行编码,编码完成后,编码管理器调用相应的媒体文件合成器插件,把编码后的数据按照对应的媒体文件格式标准写入媒体文件。
5.一种音视频编解码方法,其特征在于,包括如下步骤:
A、导入媒体文件,调用相应的解码器对该媒体文件进行解码;
B、对解码后的音视频数据选择播放,或对解码后的音视频数据进行相关处理,包括:根据编码参数进行视频分辨率的缩放和添加效果处理,依据帧率和时间戳进行重复帧和丢帧处理,对音频数据进行采样率转换处理,按照数据量和时间戳对音频数据进行丢弃或填补静音数据的处理,以及将多个媒体文件连接成一个媒体文件的处理;
C、调用相应的编码器和媒体文件合成器,生成指定格式及相关参数的多媒体文件;
所述步骤A中,在进行解码之前还包括判断该媒体文件的类型,具体包括:
A1、如果文件后缀名为图像类型文件后缀,包括bmp、jpg、png,则调用图像解码器进行解码,得到YUV12类型的视频数据;
A2、如果文件后缀为wmv、wma、rmvb、rm,则调用DirectShow解码器进行解码,视频解码后得到YUV12数据,音频解码后得到16位PCM类型的音频数据;
A3、如果文件后缀为除wmv、wma、rmvb、rm之外的其他媒体文件后缀,包括mpg、mp4、ogg,则调用媒体文件解码器进行解码,视频解码后得到YUV12类型的视频数据,音频解码后得到16位PCM类型的音频数据;如果解码失败则采用DirectShow解码器进行解码。
6.根据权利要求5所述的音视频编解码方法,其特征在于,所述步骤A3中,解码的过程具体包括:
A31,获取文件信息的步骤,该步骤中解码控制器调用文件分离管理器获取媒体文件信息,文件分离管理器根据后缀名调用相应的文件分离器插件获取文件信息;
A32,视频解码的步骤,该步骤中当播放模块或转换控制模块调用解码控制器获取视频数据和/或音频数据时,解码控制器通过文件分离管理器调用对应的文件分离器插件从文件中顺序分离若干视频压缩数据和/或音频压缩数据并传给解码控制器,并由解码控制器将数据传给解码插件管理器,解码插件管理器根据压缩数据的类型传送给视频解码器插件和/或音频解码器插件进行解码,并将解码出的YUV12类型的视频数据和/或16位PCM类型的音频数据返回给解码控制器。
7.根据权利要求5所述的音视频编解码方法,其特征在于,所述步骤B中,所述对解码后的音视频数据进行相关处理的步骤包括:
B1,数据处理模块对解码后的音视频数据进行视频缩放、图像叠加、添加效果、视频显示区域比例转换、消除隔行扫描处理、平滑视频时间戳、音频采样率变换以及平滑音频时间戳处理;
B2,文件连接模块对数据处理模块发来的需要进行文件连接处理的音视频数据,进行文件头时间戳对齐、文件尾时间戳对齐、文件的连接以及视频和音频时间戳的计算处理;
B3,转换模块从文件连接模块获取需进行文件连接处理的音视频数据或从数据处理模块获取无需进行文件连接处理的音视频数据,对这些音视频数据进行转换逻辑处理,包括当视频时间戳小于或等于音频时间戳时,调用编码模块的视频接口将视频数据写入编码器进行编码,当视频时间戳大于音频时间戳时,调用编码模块中的音频接口将音频数据写入编码器进行编码。
8.根据权利要求5所述的音视频编解码方法,其特征在于,所述步骤C具体包括:
C1,转换控制模块将音频数据写入编码管理器中,并由编码管理器通过调用对应的音频编码器插件对音频数据进行编码,转换控制模块将视频数据写入编码管理器中,并由编码管理器通过调用对应的视频编码器插件对视频数据进行编码;
C2,编码完成后,编码管理器调用相应的媒体文件合成器插件,把编码后的数据按照对应的媒体文件格式标准写入媒体文件。
CN 200810241747 2008-12-30 2008-12-30 一种音视频编解码装置及方法 Expired - Fee Related CN101771869B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810241747 CN101771869B (zh) 2008-12-30 2008-12-30 一种音视频编解码装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810241747 CN101771869B (zh) 2008-12-30 2008-12-30 一种音视频编解码装置及方法

Publications (2)

Publication Number Publication Date
CN101771869A CN101771869A (zh) 2010-07-07
CN101771869B true CN101771869B (zh) 2011-09-28

Family

ID=42504417

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810241747 Expired - Fee Related CN101771869B (zh) 2008-12-30 2008-12-30 一种音视频编解码装置及方法

Country Status (1)

Country Link
CN (1) CN101771869B (zh)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101996662B (zh) * 2010-10-22 2012-08-08 深圳市万兴软件有限公司 视频文件的连接输出方法和装置
CN102244825A (zh) * 2011-06-10 2011-11-16 中兴通讯股份有限公司 一种多媒体流的播放方法及装置
CN102654884A (zh) * 2012-04-26 2012-09-05 深圳市万兴软件有限公司 一种媒体数据截取的方法、装置及***
CN103686164A (zh) * 2012-09-06 2014-03-26 腾讯科技(深圳)有限公司 自动适配硬件编解码的方法及***及模块
CN103873888A (zh) * 2012-12-12 2014-06-18 深圳市快播科技有限公司 一种媒体文件直播方法及直播源服务器
US9992491B2 (en) * 2013-03-15 2018-06-05 Immersion Corporation Method and apparatus for encoding and decoding haptic information in multi-media files
JP6498882B2 (ja) * 2013-07-22 2019-04-10 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 蓄積方法、再生方法、蓄積装置、および再生装置
CN104683810B (zh) * 2015-02-28 2019-09-06 武汉烽火众智数字技术有限责任公司 一种基于特征分析的动态解码方法和装置
JP6519336B2 (ja) * 2015-06-16 2019-05-29 ヤマハ株式会社 オーディオ機器および同期再生方法
CN106612452B (zh) * 2015-10-22 2019-12-13 深圳市中兴微电子技术有限公司 机顶盒音视频同步的方法及装置
CN105611401B (zh) * 2015-12-18 2018-08-24 无锡天脉聚源传媒科技有限公司 一种视频剪辑的方法和装置
CN105578260A (zh) * 2015-12-18 2016-05-11 无锡天脉聚源传媒科技有限公司 一种视频剪辑的方法和装置
CN105592321A (zh) * 2015-12-18 2016-05-18 无锡天脉聚源传媒科技有限公司 一种视频剪辑的方法和装置
CN105611427B (zh) * 2016-02-16 2019-04-16 青岛海信电器股份有限公司 音视频的播放控制方法及装置
CN105791938B (zh) * 2016-03-14 2019-06-21 腾讯科技(深圳)有限公司 多媒体文件的拼接方法和装置
CN112099926A (zh) * 2016-03-29 2020-12-18 联想(北京)有限公司 一种信息处理方法及装置、电子设备
CN106792123A (zh) * 2016-12-20 2017-05-31 北京数码视讯科技股份有限公司 动态台标嵌入***和方法
CN109903752B (zh) * 2018-05-28 2021-04-20 华为技术有限公司 对齐语音的方法和装置
CN112823519B (zh) * 2018-11-26 2023-10-13 深圳市欢太科技有限公司 视频解码方法、装置、电子设备、计算机可读存储介质
CN112823529B (zh) * 2018-11-29 2023-06-13 深圳市欢太科技有限公司 视频解码方法、装置、电子设备、计算机可读存储介质
CN109814406B (zh) * 2019-01-24 2021-12-24 成都戴瑞斯智控科技有限公司 一种轨道模型电控仿真***的数据处理方法及解码器架构
CN109842801A (zh) * 2019-01-25 2019-06-04 赵腾 一种数字视频信号压缩处理方法及***
CN110176256B (zh) * 2019-04-15 2022-06-14 平安科技(深圳)有限公司 录音文件格式转换方法、装置、计算机设备以及存储介质
CN111666114B (zh) * 2020-04-28 2023-08-22 中国石油天然气集团有限公司 一种插件式测井数据转换方法
CN112437325A (zh) * 2020-11-23 2021-03-02 杭州当虹科技股份有限公司 一种8ksdi信号发生器实现方法
CN112702606A (zh) * 2020-12-21 2021-04-23 深圳市广湖科技有限公司 一种多格式流媒体智能转换的编解码器及其使用方法
CN113301426A (zh) * 2021-04-07 2021-08-24 深圳市麦谷科技有限公司 视频直播的预览方法、装置、终端设备和存储介质
CN113259738B (zh) * 2021-05-08 2022-07-29 广州市奥威亚电子科技有限公司 音视频同步的方法、装置、电子设备及存储介质
CN113496705B (zh) * 2021-08-19 2024-03-08 杭州华橙软件技术有限公司 音频处理方法和装置、存储介质及电子设备
CN114302202B (zh) * 2021-12-22 2023-03-14 深圳创维-Rgb电子有限公司 音视频投屏方法、装置、设备、***及存储介质
CN114422840A (zh) * 2022-01-04 2022-04-29 海信视像科技股份有限公司 音轨切换的方法及装置
CN115311758B (zh) * 2022-06-29 2023-12-15 惠州市德赛西威汽车电子股份有限公司 Android车载平台内置DVR行车视频记录的方法、***及存储介质
CN116320536B (zh) * 2023-05-16 2023-08-18 瀚博半导体(上海)有限公司 视频处理方法、装置、计算机设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5952943A (en) * 1996-10-11 1999-09-14 Intel Corporation Encoding image data for decode rate control
CN1852425A (zh) * 2006-05-19 2006-10-25 北京中星微电子有限公司 在播放多媒体文件时获得当前播放时间的方法和装置
CN1972443A (zh) * 2005-11-27 2007-05-30 海信集团有限公司 基于ip机顶盒的mpeg1文件实时播放的方法
CN101047842A (zh) * 2006-03-27 2007-10-03 中兴通讯股份有限公司 无线二进制运行环境手机播放流媒体音视频的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5952943A (en) * 1996-10-11 1999-09-14 Intel Corporation Encoding image data for decode rate control
CN1972443A (zh) * 2005-11-27 2007-05-30 海信集团有限公司 基于ip机顶盒的mpeg1文件实时播放的方法
CN101047842A (zh) * 2006-03-27 2007-10-03 中兴通讯股份有限公司 无线二进制运行环境手机播放流媒体音视频的方法
CN1852425A (zh) * 2006-05-19 2006-10-25 北京中星微电子有限公司 在播放多媒体文件时获得当前播放时间的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特开2007-251335A 2007.09.27

Also Published As

Publication number Publication date
CN101771869A (zh) 2010-07-07

Similar Documents

Publication Publication Date Title
CN101771869B (zh) 一种音视频编解码装置及方法
JP6411069B2 (ja) 触覚データを符号化及びストリーミングする方法及びシステム
US20030001964A1 (en) Method of converting format of encoded video data and apparatus therefor
CN101535981A (zh) 用于在将媒体数据转换到不同数据格式时维持其质量的方法和***
CN100579236C (zh) 音频编解码方法和装置
CN105049896B (zh) 一种基于hls协议的流媒体广告***方法及***
CN102595114B (zh) 一种在低端嵌入式产品上播放视频的方法及终端
AU2005294354A1 (en) A video compression system
CN106982382A (zh) 用于在可分级视频编码中信令并执行时间级切换的***和方法
CN1809873B (zh) 接收装置,发送装置及传输***
CN102948148A (zh) 组合多比特率与可伸缩视频编码
US7062097B2 (en) Computational graceful degradation method using priority information in multiple objects case
US8792734B2 (en) Apparatus and method for transmitting/receiving image data in mobile communication system
RU2708942C2 (ru) Кодирование и декодирование аудиосигналов
CN101292428B (zh) 用于编码/解码的方法和装置
JP2016522601A (ja) コンテナフォーマットでのメディアファイルの構文を意識した操作
CN102971788A (zh) 音频信号无缝播放的方法及编码器和解码器
WO2009064067A1 (en) System and method for producing importance rate-based rich media, and server applied to the same
CN103430558A (zh) 用于优化视频流的方法
CN1756358A (zh) 编码和/或解码具有n比特阿尔法平面的数码视频的方法和/或装置
CN100531377C (zh) 图像处理设备以及图像处理方法
CN106454369B (zh) 动态图像预测解码方法、动态图像预测解码装置
CN101459833B (zh) 一种用于相似视频码流的转码方法及其转码装置
Chiariglione MPEG: a technological basis for multimedia applications
TWI407795B (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
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: SHENZHEN WONDERSHARE INFORMATION TECHNOLOGY CO., L

Free format text: FORMER NAME: SHENZHEN WONDERSHARE SOFTWARE CO., LTD.

CP03 Change of name, title or address

Address after: 518057 Guangdong city of Shenzhen province Nanshan District Gao Xin Road, room 9 building on the north side of block A901 No. 006 TCL Industry Research Institute building A A Building 8 floor

Patentee after: SHENZHEN WONDERSHARE INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 518057 Guangdong province Shenzhen city Nanshan District high tech Park South Road Fucheng technology building on the third floor

Patentee before: WONDERSHARE SOFTWARE Co.,Ltd.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 850000 Tibet autonomous region, Lhasa City, New District, west of the East Ring Road, 1-4 road to the north, south of 1-3 Road, Liu Dong building, east of the 8 unit 6, floor 2, No.

Patentee after: WONDERSHARE TECHNOLOGY CO.,LTD.

Address before: 518057 Guangdong city of Shenzhen province Nanshan District Gao Xin Road, room 9 building on the north side of block A901 No. 006 TCL Industry Research Institute building A A Building 8 floor

Patentee before: SHENZHEN WONDERSHARE INFORMATION TECHNOLOGY Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110928