[发明专利]一种嵌入式多媒体播放系统的音视频同步方法有效
| 申请号: | 201310603239.3 | 申请日: | 2013-11-22 |
| 公开(公告)号: | CN103607664A | 公开(公告)日: | 2014-02-26 |
| 发明(设计)人: | 张涛 | 申请(专利权)人: | 天津市北海通信技术有限公司 |
| 主分类号: | H04N21/6437 | 分类号: | H04N21/6437;H04N21/8547;H04N21/4405;H04N21/439 |
| 代理公司: | 天津滨海科纬知识产权代理有限公司 12211 | 代理人: | 韩敏 |
| 地址: | 300384 天津市滨海新*** | 国省代码: | 天津;12 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 嵌入式 多媒体 播放 系统 视频 同步 方法 | ||
技术领域
本发明属于通信领域,尤其是涉及一种嵌入式多媒体播放系统的音视频同步方法。
背景技术
由于网络的不可靠性和传输时延等因素,实时数据通信过程中经常会遇到诸如分组丢失、乱序、抖动、重复等一系列问题。为了能在网络中有效地传输实时数据,IETF(Internet Engineering Task Force,Internet工程任务组)开发了RTP(Real-timeTransport Protocol,实时传输协议)。RTP为交互式音频、视频等具有实时特性的数据提供端到端的传送服务,包括两个关系密切的协议RTP和RTCP(Real-time Transport ControlProtocol,实时传输控制协议)。
RTP是用于Internet上针对多媒体数据流的一种传输协议,但RTP本身并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。RTCP和RTP一起提供流量控制和拥塞控制服务。服务器利用RTCP信息动态地改变传输速率,甚至改变有效载荷类型。RTP和RTCP配合使用,它们能以有效的反馈和最小的开销使传输效率最佳化,因而特别适合传送网上的实时数据。
现有技术中,传统的PIS系统中,多媒体信息的传输和发布是通过模拟或者半数字化的方式实现的,随着网络技术和计算机技术的发展,现有技术已无法满足用户对高清视频方面的要求。
发明内容
本发明要解决的问题是提供一种嵌入式多媒体播放系统的音视频同步方法。
为解决上述技术问题,本发明采用的技术方案是:
一种嵌入式多媒体播放系统的音视频同步方法,包括如下步骤:
步骤1.接收音视频数据流,并解码:
启动接收RTP音视频包的线程,接收RTP包,之后对其进行解析,解析其携带的数据类型,即RTP音频包或RTP视频包,若是RTP音频包进入音频接收缓冲区,后发送到音频解码器进行解码;若是RTP视频包进入排队缓冲区,首先对RTP视频包进行解码前的排序处理,后发送到视频解码器进行解码;
视频帧刚进入排队缓冲区内的处理过程:
RTP包直接进入排队缓冲区,开始进行排队解码,首先根据RTP视频包所携带的分组号,从后到前先找到该分组其他包的位置,然后在该分组内,利用自身携带的序列号在该组内从大到小,开始逐个比较来快速确定自己在该分组的位置;
RTP视频帧解码过程中:
在第i分组即将解码完成时,判断第i+1分组是否有完整I帧:
若是,进行解码即可;
若否,将该分组移至缓冲区,之后判断第i+2分组是否有I帧:
若有进行解码,即将解码完成时,判断是否在播放第i+2分组数据;若是则丢弃第i+1分组,若否则启动第i+1分组解码;
若无将第i+2分组移到缓冲区,后判断是否接收到第i+1分组的视频帧:
若有则将第i+1分组移出缓冲区进行解码;
若无继续进行判断第i+3分组是否有I帧:
若无丢弃缓冲区中的第i+1分组;
若有进行解码,后根据显示缓冲区的反馈判断是否播放第i+3分组:
若播放,则丢弃第i+1分组和第i+2分组;
若不播放,则返回判断第i+1分组是否有完整I帧,循环判断。
步骤2.解码后的音视频帧流入显示缓冲区或插队缓冲区:
解码后的音频帧进入音频缓冲区;
对于按正常顺序解码后的视频帧进入显示缓冲区,对于前一分组解码晚于后一分组解码的前一分组视频帧进入插队缓冲区。
步骤3.同步播放:
音频缓冲区内的音频帧进行连续播放;
显示缓冲区内的视频帧进行顺序播放,插队缓冲区的视频帧进行插队播发;
其中视频帧的播放时间是利用NTP和RTP时间戳计算出当前视频帧对应音频帧播放的时间而得到的,判断当前缓冲区的最前面一帧的时间标记与Time±△关系,其中Time±△表示允许视频帧进行播放的时间范围:
若当前缓冲区的最前面一帧的时间标记在Time±△范围内,则正常播放;
若当前缓冲区的最前面一帧的时间标记小于Time-△,(帧来晚了)丢弃该视频帧;
若当前缓冲区的最前面一帧的时间标记大于Time+△,(帧来早了)重复播放一次前一帧,之后再次比较,进行判断:
(1)若时间标记在Time±△范围内,则正常播放;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津市北海通信技术有限公司,未经天津市北海通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310603239.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于SIM卡的终端防盗方法和系统
- 下一篇:一种钢结构多层复合保温屋面





