【zz】一个简单的同步算法

本文介绍了一种简单的音视频同步算法。在发送端为同一时刻的音视频帧打上相同时间戳;接收端通过对比时间戳来决定播放顺序,确保音视频同步。若音视频时间接近则同时播放并移除相应帧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

音视频同步系列文章之----一个简单的同步算法 

 

 

 

 在发送方:

 

对于相同时刻的音频/视频帧,打上相同的时间戳(系统时间)

 

接收方:

 

保存两个队列,audio/video分别用来存放还未播放的音频和视频

 

1。当每接收到音频帧的时候,遍历此时的video队列,将此音频帧的时间戳跟每个视频帧的时间戳进行比较:

 

1)如果音频帧的时间在这个视频帧的前面,帧播放该音频

 

2)如果音频跟视频的时间戳相差在某个可以接受的误差内,则同时播放该音频/视频(并将视频帧从video队列中删除)

 

3)如果视频时间在前,则播放视频帧(并将视频帧从video队列中删除)

 

如果video队列中的最后一帧的时间都在这个audio帧之前,在此时会把整个video队列中的帧播放完,此时video队列将为空,那么将这个音频放入audio队列。

 

2.对接收到视频帧的时候,也做类似的 处理。

 

http://blog.youkuaiyun.com/stone_kingnet/archive/2008/10/20/3111341.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值