ffmpeg 音视频同步

本文主要探讨了音视频同步的问题,由于画面通常快于音频,需要在播放画面帧时进行延迟处理。通过将画面帧时间转换为毫秒,获取音频当前播放时间,计算与画面帧的差值,从而实现准确的延时播放,确保音视频同步。
摘要由CSDN通过智能技术生成

画面的播放一般会快于音频,因此在播放画面的时候对每一帧进行延迟播放。
1、先将得到的画面帧在入队列前转换为毫秒方便后面的计算
在这里插入图片描述
2、获取音频当前播放时间
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3、从packet中的画面frame获取画面的pts 除以 1000 得到秒
在这里插入图片描述
4、计算差值 – 这里 clock 就是上面的now_time 传递给video类
在这里插入图片描述

// 5、延时处理, 一下代码来自 -- https://me.csdn.net/ywl5320
double VideoPlay::getDelayTime(double diff) {
   

    if(diff 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值