CN103024517A - 一种基于并行处理的流媒体音视频同步播放方法 - Google Patents
一种基于并行处理的流媒体音视频同步播放方法 Download PDFInfo
- Publication number
- CN103024517A CN103024517A CN2012105460549A CN201210546054A CN103024517A CN 103024517 A CN103024517 A CN 103024517A CN 2012105460549 A CN2012105460549 A CN 2012105460549A CN 201210546054 A CN201210546054 A CN 201210546054A CN 103024517 A CN103024517 A CN 103024517A
- Authority
- CN
- China
- Prior art keywords
- video
- timestamp
- audio
- formation
- audio frequency
- 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
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开一种基于并行处理的流媒体音视频同步播放方法,属于音视频图像处理领域,通过将来自于一个或多个网络服务点或者是本地现有的流媒体音视频数据的播放过程,划分为音视频获取、音视频拆分、视频解码、音频解码、时间戳误差分析、视频渲染和音频播放等几个步骤,并基于拆分后时间戳作为基准,对音频播放和视频渲染后的视频播放是否满足播放条件进行判定,从而实现音频和视频的同步播放,并解决了视频解码速度与渲染速度不匹配的问题,上述各步骤可以运行在同一台多处理器的服务器上,也可以运行在网络相连的不同服务器上,这样通过并行启动操作,使这些处理过程可以实现同时在时间上的并行和/或空间上的并行。
Description
技术领域
本发明涉及流媒体音视频图像处理领域,特别涉及一种流媒体音视频的播放方法。
背景技术
目前主流的视频编解码标准有MJPEG(即Motion JPEG,一种视频压缩格式,其中每一帧图像都分别使用JPEG编码,也可简称为MJPE)、H264等都是采用传统的混合编码结构,该结构采用时间和空间预测、变换、量化和熵编码方法,将视频帧编码设为不同的帧类型:I帧、B帧、P帧,这必将引起视频解码速度因帧类型不同而有所不同,而视频的渲染帧率是固定的,从而产生了视频解码速度与渲染速度不匹配的现象。
由于音视频流要求同步播放,而音频和视频数据是异步解码和输出的,如果不采用同步输出控制机制,必将导致音视频播放不同步的现象。
发明内容
本发明的目的是针对目前流媒体音视频播放过程中存在的解码速度和渲染速度不匹配和/或音视频播放不同步问题,提供一种基于并行处理的流媒体视频同步播放方法。
为了实现本发明的目的,采用如下技术方案:
一种基于并行处理的流媒体音视频同步播放方法,在时间上或空间上并行处理音视频获取、音视频拆分、视频解码、音频解码、时间戳误差分析、视频渲染和音频播放步骤,所述的时间戳误差是视频解码时间戳和音频解码时间戳之间的音视时间戳误差。
所述音视频获取步骤之前构建缓冲区空间,所述缓冲区空间包括音视频混合缓冲区队列 、视频解码缓冲区队列、音频解码缓冲区队列、视频渲染缓冲区队列、视频解码时间戳缓冲区队列、音频播放缓冲区队列、音频解码时间戳缓冲区队列、音视频误差时间戳缓冲区队列。
所述音视频拆分步骤从音视频混合缓冲区队列依次取出音视频混合数据包,利用音视频拆分算法对音视频混合数据包进行音视频拆分,提取视频流、音视流、拆分后时间戳;将视频流与时间戳组成视频解码节点***预先构建的视频解码缓冲区队列;将音频流与时间戳组成音频解码节点***预先构建的音频解码缓冲区队列。
所述视频解码步骤从视频解码缓冲区队列依次取出视频解码节点,对节点中视频流进行解码,获取解码后的视频流、视频解码时间戳;将视频流与拆分后时间戳组成视频渲染节点***预先构建的视频渲染缓冲区队列;将视频解码时间戳和拆分后时间戳组成视频解码时间戳节点***预先构建的视频解码时间戳缓冲区队列。
所述音频解码步骤从音频解码缓冲区队列依次取出音频解码节点,对节点中音频流进行解码,获取解码后的音频流、音频解码时间戳;将音频流与拆分后时间戳组成音频播放节点***预先构建的音频播放缓冲区队列;将音频解码时间戳和拆分后时间戳组成音频解码时间戳节点***预先构建的音频解码时间戳缓冲区队列。
所述时间戳误差分析步骤以拆分后时间戳为关键字在视频解码缓冲区队列查找视频解码时间戳对应节点信息;再以拆分后时间戳为关键字在音频解码缓冲区队列查找音频解码时间戳对应节点信息;通过视频解码时间戳和音频解码时间戳得到音视误差时间戳 = - ;将音视误差时间戳与拆分后时间戳组成音视频误差时间戳节点***预先构建的音视频误差时间戳缓冲区队列。
所述视频渲染步骤依次从视频解码缓冲区队列取出视频渲染节点,获取视频流和拆分后时间戳;再根据拆分后时间戳从音视频误差时间戳缓冲区队列取出音视误差时间戳节点,获取音视频误差时间;判断音视频误差时间>0是否成立,如果成立则立即播放,否则就等待再播放。
所述音频播放步骤依次从音频解码缓冲区队列取出音频播放节点,获取音频流和拆分后时间戳;再根据拆分后时间戳从音视频误差时间戳缓冲区队列取出音视误差时间戳节点,获取音视频误差时间;判断音视频误差时间>0是否成立,如果成立则等待再播放,否则就立即播放。
本发明采用上述步骤的方法,将整个播放过程,分解为几个步骤,可以形成不同的处理模块,通过将这些处理模块运行在同一台多处理器的服务器上,或是运行在网络相连的不同服务器上,从而可以实现时间上和/或空间上的并行处理;通过缓冲区空间的构建,可以使需要各个步骤处理的音视频数据在缓冲区空间的队列中依序进行,这样当某个步骤在数据处理时,其它步骤在处理完该步骤相关联的数据后,可以继续处理其它部分的数据,从而保证流音视频的并行、高效的播放;通过获取拆分后时间戳、视频解码时间戳和音频解码时间戳,并判断后两之间的音视频误差时间与预设值或设定参数之间的关系,来确定是否进行音频和/或视频的播放,特别是通过拆分后时间戳作为基准,通过它***数据、取出数据、判断数据,从而更好地实现基于同一拆分后时间戳的音频和视频能够同步播放,进而保证整个流媒体音视频能够同步播放。
附图说明
图1为本发明的基于并行计算的流媒体音视频同步播放方法的时序图。
图2为本发明的基于并行计算的流媒体音视频同步播放方法的流程图。
具体实施方式
下面结合说明书附图,通过具体实施方式进一步详细说明本发明。
如图1所示,本发明是将来自于一个或多个网络服务点或者是本地现有的流媒体音视频数据的播放过程,划分为音视频获取、音视频拆分、视频解码、音频解码、时间戳误差分析、视频渲染和音频播放等几个步骤,处理每个步骤的过程可以通过计算机分别组成相应的处理模块,这些模块可以运行在同一台多处理器的服务器上,也可以运行在网络相连的不同服务器上,这样通过并行启动操作,使这些处理过程可以实现同时在时间上的并行和/或空间上的并行,即同一时间,不同服务器或同一服务器的不同处理器可以同时并行处理各个步骤,实现时间上的并行处理;同样,不同服务器可以通过网络相连位于不同的地方,在并行启动操作下,实现不同地方或位置的空间上并行处理。
如图2所示,上述各步骤的具体过程如下:
1、构建缓冲区空间
通过构建如下的缓冲区队伍,所述缓冲区空间包括音视频混合缓冲区队列、视频解码缓冲区队列、音频解码缓冲区队列、视频渲染缓冲区队列、视频解码时间戳缓冲区队列、音频播放缓冲区队列、音频解码时间戳缓冲区队列、音视频误差时间戳缓冲区队列。
对于缓冲区空间内各队列中的元素,采用FIFO方式处理缓冲区中各元素结点。
缓冲区队列既可以分布在同一台的服务器上,也可以分布在网络相连的不同服务器上,但是对所有并行处理模块提供统一的数据接口;缓冲区空间服务器接收各个并行处理模块对缓冲区空间的访问请求并对其进行处理,访问请求包括:***数据请求、取出数据请求、数据查找请求,***数据请求是将数据***到指定队列的队首,取出数据请求是从指定队列的队尾取出数据,数据查找请求是以指定关键字在指定队列查找元素结点并将此结点从队列中取出。
各个并行处理模块通过向缓冲区空间服务器发送请求的方式(***数据请求、取出数据请求、数据查找请求)操作缓冲区队列中的元素结点;发送请求前先生成请求数据包,请求数据包包含的数据项:队列名称、操作类型(取出、***、查找)、元素结点。
元素结点根据每个缓冲区队列的实际情况而不同。
上述各元素节点的数据项,部分会在下面表述的步骤得到或***到相应的缓冲区队列中。
2、音视频获取
音视频获取步骤将从流媒体源获取到的音视频混合数据包依次***预先构建的音视频混合缓冲区队列。流媒体源可以是一个或多个网络服务点或者是本地现有的流媒体文件。
3、音视频拆分
音视频拆分步骤从音视频混合缓冲区队列依次取出音视频混合数据包,利用音视频拆分算法对音视频混合数据包进行音视频拆分,提取视频流、音视流、拆分后时间戳;将视频流与时间戳组成视频解码节点***预先构建的视频解码缓冲区队列;将音频流与时间戳组成音频解码节点***预先构建的音频解码缓冲区队列。
音视频拆分的处理方法有TS流拆分算法和PS流拆分算法,这些算法主要针对MPEG-PS、MPEG-TS;MPEG-PS(Program Stream)主要应用于存储的具有固定时长的音视频混合流,有包头、***头、PES包3部分构成;MPEG-TS主要应用于实时传送的音视频混合流,它是采用分包发送的,每个包包括包头、负载。TS流拆分处理方法主要是根据TS流包头信息进行解析获取音频流、视频流;PS流拆分处理方法主要是根据PS流包头信息、***头信息进行解析获取音频流、视频流。
4、视频解码
视频解码步骤从视频解码缓冲区队列依次取出(取出方法见本说明书的前文所述)视频解码节点,对节点中视频流进行解码,获取解码后的视频流、视频解码时间戳;将视频流与拆分后时间戳组成视频渲染节点***预先构建的视频渲染缓冲区队列;将视频解码时间戳和拆分后时间戳组成视频解码时间戳节点***预先构建的视频解码时间戳缓冲区队列。
视频解码主要是将视频流进行解压缩;通常将MJPE格式码流或者H264格式码流转换成RGB格式码流或者YVU格式码流。
5、 音频解码
音频解码步骤从音频解码缓冲区队列依次取出音频解码节点,对节点中音频流进行解码,获取解码后的音频流、音频解码时间戳;将音频流与拆分后时间戳组成音频播放节点***预先构建的音频播放缓冲区队列;将音频解码时间戳和拆分后时间戳组成音频解码时间戳节点***预先构建的音频解码时间戳缓冲区队列。
6、 时间戳误差分析
时间戳误差分析步骤以拆分后时间戳为关键字在视频解码缓冲区队列查找视频解码时间戳对应节点信息;再以拆分后时间戳为关键字在音频解码缓冲区队列查找音频解码时间戳对应节点信息;通过视频解码时间戳和音频解码时间戳得到音视误差时间戳 = - ;将音视误差时间戳与拆分后时间戳组成音视频误差时间戳节点***预先构建的音视频误差时间戳缓冲区队列。
7、视频渲染
视频渲染步骤依次从视频解码缓冲区队列取出视频渲染节点,获取视频流和拆分后时间戳;再根据拆分后时间戳从音视频误差时间戳缓冲区队列取出音视误差时间戳节点,获取音视频误差时间;判断音视频误差时间>0是否成立,如果成立则立即播放,否则就等待再播放。
8、音频播放
音频播放步骤依次从音频解码缓冲区队列取出音频播放节点,获取音频流和拆分后时间戳;再根据拆分后时间戳从音视频误差时间戳缓冲区队列取出音视误差时间戳节点,获取音视频误差时间;判断音视频误差时间>0是否成立,如果成立则等待再播放,否则就立即播放。
可见,通过上述各步骤,基于拆分后时间戳作为参考基准,对流媒体的音视频混合数据包依次***缓冲区队列、依次拆分、依次查找、依次取出等操作,并且视频播放是在视频渲染后,再基于拆分后时间戳获取并判断音视频误差时间是否满足播放的预设条件,如果满足(如本发明的一个实施例中取大于零为条件成立)则播放,否则就继续等待直到满足才播放;而音频播放同样基于拆分后时间戳获取并判断音视频误差时间是否满足播放的预设条件,如果满足(如本发明的一个实施例中取大于零为条件成立)则播放,否则就继续等待直到满足才播放。
这样,由于上述各步骤可以在时间上和/或空间上并行处理,拆分后的各个元素节点,可以同时并行处理,不必等待,只要基于相同的拆分后时间戳就可以连续播放,特别是上述视频播放是在视频渲染后再进行播放条件的判断,有效解决了视频解码速度与渲染速度之间的匹配问题,而且音频播放与视频渲染后的视频播放都是基于同一元素节点的拆分后时间戳来判定是否进行播放的条件,这样就可以使同一元素节点的音频和视频的播放达到同步,而无需采用现有技术中的同步输出控制。
Claims (9)
1.一种基于并行处理的流媒体音视频同步播放方法,其特征在于,时间上或空间上并行处理音视频获取、音视频拆分、视频解码、音频解码、时间戳误差分析、视频渲染和音频播放步骤,所述的时间戳误差是视频解码时间戳和音频解码时间戳之间的音视时间戳误差。
3.如权利要求1或2所述一种基于并行处理的流媒体音视频同步播放方法,其特征在于,所述音视频获取步骤将从流媒体源获取到的音视频混合数据包依次***预先构建的音视频混合缓冲区队列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105460549A CN103024517A (zh) | 2012-12-17 | 2012-12-17 | 一种基于并行处理的流媒体音视频同步播放方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105460549A CN103024517A (zh) | 2012-12-17 | 2012-12-17 | 一种基于并行处理的流媒体音视频同步播放方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103024517A true CN103024517A (zh) | 2013-04-03 |
Family
ID=47972570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012105460549A Pending CN103024517A (zh) | 2012-12-17 | 2012-12-17 | 一种基于并行处理的流媒体音视频同步播放方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103024517A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104125493A (zh) * | 2013-04-24 | 2014-10-29 | 鸿富锦精密工业(深圳)有限公司 | 影音同步***及方法 |
CN106385525A (zh) * | 2016-09-07 | 2017-02-08 | 天脉聚源(北京)传媒科技有限公司 | 一种视频播放方法及装置 |
CN106600656A (zh) * | 2016-11-24 | 2017-04-26 | 合肥中科云巢科技有限公司 | 图形渲染方法和装置 |
CN107277614A (zh) * | 2017-06-27 | 2017-10-20 | 深圳市爱培科技术股份有限公司 | 行车记录仪的音视频远程播放方法、存储设备及移动终端 |
CN107562003A (zh) * | 2016-06-30 | 2018-01-09 | 欧姆龙株式会社 | 图像处理装置、图像处理方法及图像处理程序 |
CN108924631A (zh) * | 2018-06-27 | 2018-11-30 | 杭州叙简科技股份有限公司 | 一种基于音视频分流存储的录像生成方法 |
CN109168059A (zh) * | 2018-10-17 | 2019-01-08 | 上海赛连信息科技有限公司 | 一种在不同设备上分别播放音频与视频的唇音同步方法 |
CN110072137A (zh) * | 2019-04-26 | 2019-07-30 | 湖南琴岛网络传媒科技有限公司 | 一种视频直播的数据传输方法及传输装置 |
CN110087146A (zh) * | 2019-06-06 | 2019-08-02 | 成都德尚视云科技有限公司 | 对视频文件的分析与渲染进行同步的方法和*** |
CN114286149A (zh) * | 2021-12-31 | 2022-04-05 | 广东博华超高清创新中心有限公司 | 一种跨设备和***的音视频同步渲染的方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0987904A2 (en) * | 1998-08-31 | 2000-03-22 | Lucent Technologies Inc. | Method and apparatus for adaptive synchronization of digital video and audio playback |
CN101466044A (zh) * | 2007-12-19 | 2009-06-24 | 康佳集团股份有限公司 | 一种流媒体音视频同步播放的方法及其*** |
CN101902649A (zh) * | 2010-07-15 | 2010-12-01 | 浙江工业大学 | 一种基于h.264标准的音视频同步控制方法 |
CN101984672A (zh) * | 2010-11-03 | 2011-03-09 | 深圳芯邦科技股份有限公司 | 多线程的音视频同步控制方法及装置 |
-
2012
- 2012-12-17 CN CN2012105460549A patent/CN103024517A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0987904A2 (en) * | 1998-08-31 | 2000-03-22 | Lucent Technologies Inc. | Method and apparatus for adaptive synchronization of digital video and audio playback |
CN101466044A (zh) * | 2007-12-19 | 2009-06-24 | 康佳集团股份有限公司 | 一种流媒体音视频同步播放的方法及其*** |
CN101902649A (zh) * | 2010-07-15 | 2010-12-01 | 浙江工业大学 | 一种基于h.264标准的音视频同步控制方法 |
CN101984672A (zh) * | 2010-11-03 | 2011-03-09 | 深圳芯邦科技股份有限公司 | 多线程的音视频同步控制方法及装置 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104125493A (zh) * | 2013-04-24 | 2014-10-29 | 鸿富锦精密工业(深圳)有限公司 | 影音同步***及方法 |
CN107562003A (zh) * | 2016-06-30 | 2018-01-09 | 欧姆龙株式会社 | 图像处理装置、图像处理方法及图像处理程序 |
CN106385525A (zh) * | 2016-09-07 | 2017-02-08 | 天脉聚源(北京)传媒科技有限公司 | 一种视频播放方法及装置 |
CN106600656A (zh) * | 2016-11-24 | 2017-04-26 | 合肥中科云巢科技有限公司 | 图形渲染方法和装置 |
CN107277614A (zh) * | 2017-06-27 | 2017-10-20 | 深圳市爱培科技术股份有限公司 | 行车记录仪的音视频远程播放方法、存储设备及移动终端 |
CN108924631B (zh) * | 2018-06-27 | 2021-07-06 | 杭州叙简科技股份有限公司 | 一种基于音视频分流存储的录像生成方法 |
CN108924631A (zh) * | 2018-06-27 | 2018-11-30 | 杭州叙简科技股份有限公司 | 一种基于音视频分流存储的录像生成方法 |
CN109168059A (zh) * | 2018-10-17 | 2019-01-08 | 上海赛连信息科技有限公司 | 一种在不同设备上分别播放音频与视频的唇音同步方法 |
CN109168059B (zh) * | 2018-10-17 | 2021-06-18 | 上海赛连信息科技有限公司 | 一种在不同设备上分别播放音频与视频的唇音同步方法 |
CN110072137B (zh) * | 2019-04-26 | 2021-06-08 | 湖南琴岛网络传媒科技有限公司 | 一种视频直播的数据传输方法及传输装置 |
CN110072137A (zh) * | 2019-04-26 | 2019-07-30 | 湖南琴岛网络传媒科技有限公司 | 一种视频直播的数据传输方法及传输装置 |
CN110087146A (zh) * | 2019-06-06 | 2019-08-02 | 成都德尚视云科技有限公司 | 对视频文件的分析与渲染进行同步的方法和*** |
CN110087146B (zh) * | 2019-06-06 | 2021-05-04 | 成都德尚视云科技有限公司 | 对视频文件的分析与渲染进行同步的方法和*** |
CN114286149A (zh) * | 2021-12-31 | 2022-04-05 | 广东博华超高清创新中心有限公司 | 一种跨设备和***的音视频同步渲染的方法及*** |
CN114286149B (zh) * | 2021-12-31 | 2023-07-07 | 广东博华超高清创新中心有限公司 | 一种跨设备和***的音视频同步渲染的方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103024517A (zh) | 一种基于并行处理的流媒体音视频同步播放方法 | |
US11265562B2 (en) | Transmitting method and receiving method | |
JP6793231B2 (ja) | 受信方法 | |
EP3096526B1 (en) | Communication apparatus, communication data generation method, and communication data processing method | |
EP2997736B1 (en) | Adaptive streaming transcoder synchronization | |
EP2721814B1 (en) | Method and apparatus for transmitting/receiving media contents in multimedia system | |
CN102037731B (zh) | 压缩视频中属于互相关性层的图片的通知和抽取 | |
US9510028B2 (en) | Adaptive video transcoding based on parallel chunked log analysis | |
KR101701182B1 (ko) | 청크로 스트리밍된 컨텐츠를 복구하기 위한 방법 | |
US8325821B1 (en) | Video transcoder stream multiplexing systems and methods | |
CN110519635B (zh) | 一种无线集群***的音视频媒体流合流方法及*** | |
CN106605409B (zh) | 发送装置、接收装置、发送方法以及接收方法 | |
JPWO2012096372A1 (ja) | コンテンツ再生装置、コンテンツ再生方法、配信システム、コンテンツ再生プログラム、記録媒体、およびデータ構造 | |
US9800880B2 (en) | Configurable transcoder and methods for use therewith | |
EP3096533B1 (en) | Communication apparatus, communication data generation method, and communication data processing method | |
CA2786812A1 (en) | Method and arrangement for supporting playout of content | |
CN105611395B (zh) | 一种mp4格式视频在线播放的方法及*** | |
US20130219073A1 (en) | Adaptive display streams | |
EP3096524B1 (en) | Communication apparatus, communication data generation method, and communication data processing method | |
CN108122558B (zh) | 一种latm aac音频流的实时转容实现方法及装置 | |
RU2698779C2 (ru) | Устройство передачи, способ передачи, устройство приема и способ приема | |
JP2022075740A (ja) | 送信方法、受信方法、送信装置及び受信装置 | |
CN104079975A (zh) | 图像处理设备、图像处理方法以及计算机程序 | |
JP2019220974A (ja) | 復号装置 | |
EP3096525B1 (en) | Communication apparatus, communication data generation method, and communication data processing method |
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: 20130403 |