[发明专利]一种音视频同步播放方法及装置在审
申请号: | 201210338406.1 | 申请日: | 2012-09-13 |
公开(公告)号: | CN103686315A | 公开(公告)日: | 2014-03-26 |
发明(设计)人: | 梁健国;博彬 | 申请(专利权)人: | 深圳市快播科技有限公司 |
主分类号: | H04N21/434 | 分类号: | H04N21/434;H04N21/8547 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 任默闻 |
地址: | 518057 广东省深圳市南山区高新南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 视频 同步 播放 方法 装置 | ||
技术领域
本发明涉及视频通信领域,具体地,涉及一种音视频同步播放方法及装置。
背景技术
音视频同步的目的是将视频帧与该帧显示时间点对应的音频数据同步输出到设备,从而实现影片的正常播放。由于音视频被分开编码,故它们的解码也是分开的,且解码后的音视频输出本是不相关的过程。为保证正常播放,编码器在编码时会以帧为单位分别为编码后的视频和音频流打上时间戳(timestamp,简称为ts),拥有相同或几近相同时间戳的音视频数据在解码后应被同时输出。
目前实现音视频同步,可以以视频ts为参考,将音频同步到视频,也可相反,以音频ts为参考,将视频同步到音频。此外也可参考外部时钟(externalclock),比如系统时钟,从而将音视频根据各自的ts同步到外部时钟。以上的同步过程,如果遇见因机器性能而解不动的情况,采用不解码相应非参考帧的策略,以期减轻系统负担,令播放尽可能流畅。
通常播放器的分离器(demuxer)后端都存在独立的音视频缓冲队列,缓冲队列内存放了由分离器解析出的待解数据包。音频解码器(audio decoder)从音频缓冲队列中(audio queue)取出音频数据包(audio packet),视频解码器(video decoder)从视频缓冲队列中(video queue)取出视频数据包(videopacket),随后各自解码并输出。由于音频/视频缓冲队列的长度都有限,因而分离器填充数据包时也就存在限制,如果缓冲队列满了,就必须等队列中的数据包被对应解码器取走以腾出空间后方可再次填充。如果分离器具备从随机位置单独解析出音频/视频数据包的能力,则该限制影响不大,因为任意一个队列的充满,都不会影响其他队列的填充。反之,如果分离器不具备此能力,就会出现问题。拿目前的视频采集、截图多媒体处理工具(ffmpeg)为例,其分离器不具备上述能力,结果是音频/视频数据包被按照数据流中出现的顺序解析出来的,当前循环解析出的如果是视频数据包,下次的数据包类型有可能是视频,也有可能是音频。这样,当填充上述缓冲队列时,如果视频缓冲队列满了,就必须让分离器的解析工作停下来,否则,随后解析出的视频数据包就无处存放,只能丢弃了。
由于上述的限制,现有的音视频同步策略存在的缺陷如下:
策略1
以视频时间戳(video ts)为参考来同步音频,该策略的思路是视频播到哪儿,对应的音频就播到哪儿。该策略有以下缺陷:
(1)视频的时间戳有很大可能存在不连续;
(2)解不动的情况下,视频缓冲队列在大部分时间是满的,会导致音频数据包无法填充;
(3)播放到文件末尾时,视频数据可能先被解完,此时剩余的音频(audio)将失去参考对象。
其中,上述缺陷(1)和(3)可以修正,但会大大提高程序复杂度,造成代码难以维护,缺陷(2)会令音频解码器无数据可解,造成严重的声音卡顿。
策略2
以音频时间戳为参考来同步视频,则音频时间戳的可靠性通常高于视频时间戳的可靠性,但上述策略1中的三个缺陷仍然存在,且缺陷(2)会造成视频失去正确的参考时间轴,造成视频长时间卡顿,较大影响用户体验。
策略3
将音频和视频都同步到同一个外部时钟上,该策略的好处是音频和视频彼此不相关联,只需要处理各自与外部时钟的同步逻辑即可,代码易读易维护,出错可能性大大降低,且可以保证选取的外部时钟是可靠和一直存在的。但该策略同样存在如下问题:
(1)同一播放定位(seek)点上,音频和视频起始时间会不一致;
(2)解不动的情况下,视频缓冲队列在大部分时间是满的,会导致音频数据包无法填充。
问题(1)造成的结果是,即使音频和视频都同步到了外部时钟,但起始点内容的偏差,导致音视频始终不同步。尽管在该策略下,问题(2)的影响已降低,但如果处理不当,仍会造成声音的卡顿,影响用户体验。
综上所述,现有技术中的音视频同步播放技术存在由于时间戳不一致而导致音视频播放时无法有效同步的问题。
发明内容
本发明实施例的主要目的在于提供一种音视频同步播放方法及装置,以解决现有技术中的音视频同步播放技术存在由于时间戳不一致而导致音视频播放时无法有效同步的问题。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市快播科技有限公司,未经深圳市快播科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210338406.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:浅海用污水处理罐
- 下一篇:一种通过复合诱变对DHA菌株进行选育的方法