一个音画不同步的问题分析

本文分析了一个视频播放时音频超前的问题,通过ffprobe和ffms2发现音频帧不均匀,导致播放时长与视频不符。问题在于mediablib音频pts设置逻辑,提出两种解决方案,计划从修正数据读取角度修复音画不同步。

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

一、背景

某个视频播放过程中出现音频超前播放,而且越播放越不同步。视频文件的参数如下:
在这里插入图片描述
在这里插入图片描述项目采用ffms2+avisynth的框架

二、分析过程(ffms2)

音频比视频短
1、 既然是音频播放超前,那么要么是画面播放太慢了,要么是音频播快了。首先分析了视频播放流程,确定了和视频丢帧没关系,即便丢帧再快,视频也都跟不上音频
2、接下来就重点分析音频了,用ffprobe从视频文件中抓取到音频包,大概内容如下
3、从2中可以看到,每个音频包的采样点个数,即nb_samples都是1024,pkt_duration也大部分都是1024,但是存在个别音频包未4016或者其他值
4、查阅资料,pkt_duration为单帧音频播放的时间,单位是1/44100 s。所以这个文件的播放时间不能由采样点来决定,而应该结合pkt_duration来决定
5、再分析解析文件时长的方式,在写index的过程找到了这行代码

stre
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值