CN102522096A - 多路音视频同步回放系统及其方法 - Google Patents
多路音视频同步回放系统及其方法 Download PDFInfo
- Publication number
- CN102522096A CN102522096A CN201110404218XA CN201110404218A CN102522096A CN 102522096 A CN102522096 A CN 102522096A CN 201110404218X A CN201110404218X A CN 201110404218XA CN 201110404218 A CN201110404218 A CN 201110404218A CN 102522096 A CN102522096 A CN 102522096A
- Authority
- CN
- China
- Prior art keywords
- filter
- file
- video
- data
- multichannel
- 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.)
- Pending
Links
Images
Abstract
本发明公开了一种多路音视频同步回放系统及其方法,多路音视频同步回放系统,其包括:应用程序模块,其用于发送命令和接收事件;文件读取滤镜,其主要负责与外部媒体源交互,并从源文件读取数据;多路文件分离器滤镜,其根据将要播放的时间标志请求各路源文件中距离这个时间标志一定范围内的数据帧;解码器,其将多路文件分离器滤镜送入数据进一步处理并转换为文件读取滤镜可接受的视频帧图像;表现滤镜,其将最终数据渲染到显卡或声卡;显卡或声卡,其将最终数据播放。本发明可以播放用户自定义格式的多路视频、音频数据,并使使同步误差控制在人眼觉察的范围内。
Description
技术领域
本发明涉及一种多路音视频同步回放技术,特别涉及一种多路音视频同步回放系统及其方法。
背景技术
多路视频回放软件基于Directshow开发,DirectShow是微软公司提供的一套在Windows平台上进行多媒体处理的开发包,是目前windows上使用最广泛、结构最灵活的多媒体框架,为多媒体采集和编辑,播放提供了一整套解决方案。
DirectShow提供的是一种开放式的开发环境,它基于Filter(滤镜)模块组成面向特定需求的多媒体处理的Filter Graph开发者可以根据自己的需要灵活定制,替换自己或者第三方的Filter。DirectShow中的Filter(滤镜)主要分为以下三类:
一、Source Filter(源滤镜):主要负责与外部媒体源交互,比如磁盘文件,网络流媒体,摄像头等,它将相关的媒体源的数据读写,IO查找封装在内部,暴露DirectShow标准接口给下游Filter使用。
二、Rendering Filter(表现滤镜):将最终数据渲染到终端,在多媒体回放的案例中,Rendering Filter是终端显卡和声卡的抽象,在数据采集(比如视频录制)中,Rendering Filter是存储介质的抽象。
三、Transform Filter(变换滤镜):将Source Filter送入数据进一步处理并转换为最终Rendering Filter可接受的数据格式。在媒体回访案例中,Transform Filter主要作用是将Source Filter读入的媒体的原始数据进行音频视频流分离和解码,后期处理转换为Rendering Filter可接受的视频帧图像(RGB,YUV)。开发者可以遵循Transform Filter的基本框架开发出适应各种场合的应用。
播放avi文件的过程如下:(1)首先从一个文件中读取AVI数据,形成字节流(这个工作由源Filter完成)。(2)检查AVI数据流的头格式,然后通过AVI分割Filter将视频流和音频流分开。(3)解码视频流,根据压缩格式的不同,选取不同的解码器(Decoder)。(4)解码后的视频帧通过RenderingFilter送到显卡绘制视频图像。(5)音频流送到声卡进行播放。
目前的播放器以及Filter(滤镜)的设计都是单路的视频音频播放,没有设计多路音视频播放。
发明内容
本发明所要解决的技术问题是提供一种多路音视频同步回放系统及其方法,其可以播放用户自定义格式的多路视频、音频数据,并使使同步误差控制在人眼觉察的范围内。
为解决所述技术问题,本发明提供了一种多路音视频同步回放系统,其特征在于,其包括:
应用程序模块,其用于发送命令和接收事件;
文件读取滤镜,其主要负责与外部媒体源交互,并从源文件读取数据;
多路文件分离器滤镜,其根据将要播放的时间标志请求各路源文件中距离这个时间标志一定范围内的数据帧;
解码器,其将多路文件分离器滤镜送入数据进一步处理并转换为文件读取滤镜可接受的视频帧图像;
表现滤镜,其将最终数据渲染到显卡或声卡;
显卡或声卡,其将最终数据播放。
优选地,所述多路文件分离器滤镜、文件读取滤镜、解码器、表现滤镜构成滤镜管理器。
优选地,所述应用程序模块通过发送命令控制滤镜管理器对播放进行暂停、开始、停止、快进、快退、慢放的操作;滤镜管理器将播放中的事件传递给应用程序模块,使应用程序模块采用相应的操作。
优选地,所述解码器的数量和文件读取滤镜的数量一致,并与其一一对应。
优选地,所述表现滤镜的数量和文件读取滤镜的数量一致,同时与其一一对应。
本发明还提供一种多路音视频同步回放方法,其采用上述的多路音视频同步回放系统,其特征在于,其包括以下步骤:多路文件分离器滤镜通过文件读取滤镜同时读取源文件的数据,然后将这些数据经过解码器的解码和表现滤镜的渲染,最终输出到显卡或声卡上进行播放。
本发明的积极进步效果在于:本发明可以播放用户自定义格式的多路视频、音频数据,并使使同步误差控制在人眼觉察的范围内,即误差不超过1/24秒。
附图说明
图1为本发明多路音视频同步回放系统的结构框图。
图2为本发明多路文件分离器滤镜的工作原理示意图。
图3为本发明保证音视频同步性的原理示意图。
图4为本发明视频播放时数据的流向的示意图。
具体实施方式
下面举个较佳实施例,并结合附图来更清楚完整地说明本发明。
在应用程序层,使用者可以通过播放软件同时打开几路机载数字视频记录仪(DVR)记录的视/音频文件进行播放。因为DVR在记录这几路视/音频的时候,会给每一个数据帧(Sample)打上播放时间标志(PTS),所以播放软件在播放时会根据数据自身的时间标志进行异步读取和播放,从而使这几路视频在回放时的同步误差控制在人眼可以辨识的范围内。
如图1所示,本发明多路音视频同步回放系统包括应用程序模块、多路文件分离器滤镜(Splitter Filter)、文件读取滤镜(Source Filter)、解码器(Decoder)、表现滤镜(Rendering Filter)、显卡或声卡,多路文件分离器滤镜(Splitter Filter)、文件读取滤镜(Source Filter)、解码器(Decoder)、表现滤镜(Rendering Filter)构成滤镜管理器(Filter Manager)。
本发明多路音视频同步回放方法包括以下步骤:多路文件分离器滤镜(Splitter Filter)通过文件读取滤镜(Source Filter)可以同时读取几路源文件的数据(音视频数据),然后将这些数据经过解码器(Decoder)的解码和表现滤镜(Rendering Filter)的渲染,最终输出到显卡或声卡上进行播放。本发明可以播放用户自定义格式的多路视频、音频数据,并使使同步误差控制在人眼觉察的范围内,即误差不超过1/24秒。
应用程序模块用于发送命令和接收事件,可以通过发送命令控制滤镜管理器对播放进行暂停、开始、停止、快进、快退、慢放等操作;而滤镜管理器可以将播放中的事件如文件结束等传递给应用程序模块,使应用程序模块可以采用相应的操作。
文件读取滤镜(Source Filter)主要负责与外部媒体源交互,比如磁盘文件,网络流媒体,摄像头等,它将相关的媒体源的数据读写、IO查找封装在内部,暴露DirectShow标准接口给下游Filter使用。在本系统中,FilterGraph会根据要播放的文件路数创建相应数量的Source Filter来对各源文件进行读取。
如图2所示,多路文件分离器滤镜(Splitter Filter)根据将要播放的时间标志请求各路源文件中距离这个时间标志一定范围内的数据帧(Sample),如果某路没有相应数据就直接返回等待下一次读取,不影响其他路的读取。如果有数据,则将数据读取到内存分配器(Allocator)的空闲帧队列中,并将内存指针传给Splitter Filter。如此循环,直到接收到停止命令。内存分配器(Allocator)可以根据帧的大小动态分配内存。多路文件分离器滤镜(SplitterFilter)根据接收到的内存指针,从数据帧队列中读取Sample并进行相应处理后向下游传递。
解码器(Decoder)将多路文件分离器滤镜(Splitter Filter)送入数据进一步处理并转换为最终表现滤镜(Rendering Filter)可接受的视频帧图像(RGB,YUV等)。在本系统中,解码器(Decoder)的数量和文件读取滤镜(Source Filter)的数量一致,并与其一一对应。
表现滤镜(Rendering Filter)将最终数据渲染到终端(显卡或声卡),它是终端显卡和声卡的抽象,显卡或声卡将最终数据播放。与解码器(Decoder)一样,在本系统中,表现滤镜(Rendering Filter)的数量和文件读取滤镜(SourceFilter)的数量一致,同时与其一一对应。因为处于同一个Filter Graph中,所以这些表现滤镜(Rendering Filter)所用的参考时钟(Reference Time)是同一个,这是保证同步播放的基础。
此系统保证音视频同步性的原理如图3所示。在播放中,表现滤镜在渲染时标为PTS的数据帧,解码器在解码时标为PTS+t1的数据帧(时标为PTS到PTS+t1之间的数据帧已经解码完毕,在帧队列中等待表现滤镜的渲染),而此时,多路文件分离器滤镜向文件读取滤镜请求距离时标PTS+t1+t2不大于t3的下一个数据帧(时标PTS+t1到PTS+t1+t2内的数据帧已经处理完毕,在帧队列中等待解码器解码),如果各路数据中有请求的数据,则读取到内存分配器中等待多路文件分离器滤镜处理,如果没有相应数据,则直接返回,等待下一次读取,这样就音视频同步性。
数据流以帧(Sample)为单位,每个Sample中包含了视频的内存指针(pointer to the underlying buffer),时标(time stamp),各种标志(variousflags),媒体类型(a media type)(可选)。时标定义了播放时间,表现滤镜(Rendering Filter)根据这个时间来安排显示。标志用来标识数据流的一些特殊状态,例如数据流有无中断。可以通过重新指定媒体类型来中途改变数据流的格式,通常帧是没有媒体类型的,也就表示格式和前一帧没有变化。视频播放时帧的流向如图4所示。这样的数据处理方式既可以保证不耗费太多的系统资源,又可以有足够的数据缓冲保证播放的流畅性,避免卡顿和丢帧现象,为播放的同步性提供保障。因为所有的表现滤镜都处于同一个滤镜管理器中,所以它们的参考时钟是相同的,从而表现滤镜根据数据帧上的时间标志播放时可以达到较好的同步的效果。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改。因此,本发明的保护范围由所附权利要求书限定。
Claims (6)
1.一种多路音视频同步回放系统,其特征在于,其包括:
应用程序模块,其用于发送命令和接收事件;
文件读取滤镜,其主要负责与外部媒体源交互,并从源文件读取数据;
多路文件分离器滤镜,其根据将要播放的时间标志请求各路源文件中距离这个时间标志一定范围内的数据帧;
解码器,其将多路文件分离器滤镜送入数据进一步处理并转换为文件读取滤镜可接受的视频帧图像;
表现滤镜,其将最终数据渲染到显卡或声卡;
显卡或声卡,其将最终数据播放。
2.如权利要求1所述的多路音视频同步回放系统,其特征在于,所述多路文件分离器滤镜、文件读取滤镜、解码器、表现滤镜构成滤镜管理器。
3.如权利要求2所述的多路音视频同步回放系统,其特征在于,所述应用程序模块通过发送命令控制滤镜管理器对播放进行暂停、开始、停止、快进、快退、慢放的操作;滤镜管理器将播放中的事件传递给应用程序模块,使应用程序模块采用相应的操作。
4.如权利要求1所述的多路音视频同步回放系统,其特征在于,所述解码器的数量和文件读取滤镜的数量一致,并与其一一对应。
5.如权利要求1所述的多路音视频同步回放系统,其特征在于,所述表现滤镜的数量和文件读取滤镜的数量一致,同时与其一一对应。
6.一种多路音视频同步回放方法,其采用如权利要求1所述的多路音视频同步回放系统,其特征在于,其包括以下步骤:多路文件分离器滤镜通过文件读取滤镜同时读取源文件的数据,然后将这些数据经过解码器的解码和表现滤镜的渲染,最终输出到显卡或声卡上进行播放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110404218XA CN102522096A (zh) | 2011-12-07 | 2011-12-07 | 多路音视频同步回放系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110404218XA CN102522096A (zh) | 2011-12-07 | 2011-12-07 | 多路音视频同步回放系统及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102522096A true CN102522096A (zh) | 2012-06-27 |
Family
ID=46292993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110404218XA Pending CN102522096A (zh) | 2011-12-07 | 2011-12-07 | 多路音视频同步回放系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102522096A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102623032A (zh) * | 2012-04-01 | 2012-08-01 | 深圳英飞拓科技股份有限公司 | 一种实现硬盘录像机同步回放的方法 |
CN106648534A (zh) * | 2016-12-26 | 2017-05-10 | 三星电子(中国)研发中心 | 一种对互斥的音频实现同时播放的方法 |
CN107124641A (zh) * | 2017-06-02 | 2017-09-01 | 广东暨通信息发展有限公司 | 一种音视频同步播放的控制方法 |
CN109479176A (zh) * | 2016-07-17 | 2019-03-15 | 伯斯有限公司 | 同步音频回放设备 |
CN110381350A (zh) * | 2019-06-25 | 2019-10-25 | 杭州叙简科技股份有限公司 | 基于webrtc的多路录像回放同步系统及其处理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1767601A (zh) * | 2005-10-21 | 2006-05-03 | 西安交通大学 | 一种支持多源流媒体的同步播放控制方法 |
CN101237586A (zh) * | 2008-02-22 | 2008-08-06 | 上海华平信息技术股份有限公司 | 音视频缓存同步播放的方法 |
CN101448095A (zh) * | 2007-11-28 | 2009-06-03 | 新奥特(北京)视频技术有限公司 | 基于多码流的审片方法及系统 |
-
2011
- 2011-12-07 CN CN201110404218XA patent/CN102522096A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1767601A (zh) * | 2005-10-21 | 2006-05-03 | 西安交通大学 | 一种支持多源流媒体的同步播放控制方法 |
CN101448095A (zh) * | 2007-11-28 | 2009-06-03 | 新奥特(北京)视频技术有限公司 | 基于多码流的审片方法及系统 |
CN101237586A (zh) * | 2008-02-22 | 2008-08-06 | 上海华平信息技术股份有限公司 | 音视频缓存同步播放的方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102623032A (zh) * | 2012-04-01 | 2012-08-01 | 深圳英飞拓科技股份有限公司 | 一种实现硬盘录像机同步回放的方法 |
CN102623032B (zh) * | 2012-04-01 | 2014-09-17 | 深圳英飞拓科技股份有限公司 | 一种实现硬盘录像机同步回放的方法 |
CN109479176A (zh) * | 2016-07-17 | 2019-03-15 | 伯斯有限公司 | 同步音频回放设备 |
CN106648534A (zh) * | 2016-12-26 | 2017-05-10 | 三星电子(中国)研发中心 | 一种对互斥的音频实现同时播放的方法 |
CN106648534B (zh) * | 2016-12-26 | 2019-09-13 | 三星电子(中国)研发中心 | 一种对互斥的音频实现同时播放的方法 |
CN107124641A (zh) * | 2017-06-02 | 2017-09-01 | 广东暨通信息发展有限公司 | 一种音视频同步播放的控制方法 |
CN110381350A (zh) * | 2019-06-25 | 2019-10-25 | 杭州叙简科技股份有限公司 | 基于webrtc的多路录像回放同步系统及其处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101689170B (zh) | 用于数字媒体处理的接口 | |
DK2603986T3 (en) | SYSTEM AND PROCEDURE FOR SYNCHRONIZED PLAYING OF DIGITAL CONTENT STREAMING | |
WO2016095369A1 (zh) | 屏幕录制的方法及装置 | |
CN101626473B (zh) | 影像声音处理用集成电路 | |
CN100477727C (zh) | 通过隐藏字幕数据创建备选音频的方法和装置 | |
RU2420015C2 (ru) | Способ и устройство для записи и воспроизведения видеоданных и информационный носитель данных, на котором записаны видеоданные | |
CN102547435B (zh) | 一种多媒体文件播放处理系统及方法 | |
CN102522096A (zh) | 多路音视频同步回放系统及其方法 | |
WO2013182011A1 (zh) | 在线视频实时变速播放方法及系统 | |
US20090007208A1 (en) | Program, data processing method, and system of same | |
US20060143676A1 (en) | Content reproduce system, reproduce device, and reproduce method | |
CN103430558A (zh) | 用于优化视频流的方法 | |
US20130151972A1 (en) | Media processing comparison system and techniques | |
CN101286274A (zh) | 一种供盲人使用的数字视频的自动讲解系统 | |
JP4423551B2 (ja) | 放送記録再生装置および放送記録再生処理プログラム | |
US8213778B2 (en) | Recording device, reproducing device, recording medium, recording method, and LSI | |
CN201893854U (zh) | 一种基于视频通道卡和通用服务器平台的视音频延时系统 | |
TW201001281A (en) | Media foundation source reader | |
US8208787B2 (en) | SMMD media producing and reproducing apparatus | |
CN111131868B (zh) | 基于播放器的视频录制方法及装置 | |
CN102081949A (zh) | 一种嵌入式多媒体播放系统 | |
KR20180036197A (ko) | 스크립트 길이 기반의 장면 인식 방법 및 시스템 | |
WO2003036968A1 (en) | Real-time bookmarking of streaming media assets | |
RU2266625C2 (ru) | Способ и устройство для записи и воспроизведения видеоданных и информационный носитель данных, на котором записываются видеоданные посредством этого способа и устройства | |
Dogan et al. | Method for providing live content during playback of recorded streams in personal video recorders |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120627 |