音视频同步:为什么有时候声音和嘴型对不上?
你看视频时,有没有遇到过:
- 声音比画面快
- 或者画面比声音快
这就是音视频同步问题。
今天聊聊为什么会不同步,以及怎么解决。
什么是音视频同步?
同步(理想状态):
画面:第1帧 → 第2帧 → 第3帧 → 第4帧 → …
声音:啊啊啊 ~~~~
时间:0ms 33ms 66ms 100ms …
不同步(问题状态):
画面:第1帧 → 第2帧 → 第3帧 → 第4帧 → …
声音:啊啊啊 ~~~~
时间:0ms 33ms 66ms 100ms …
↑ 声音比画面快了50ms
为什么会不同步?
原因1:编码时时间戳不准
视频录制过程:
1. 摄像头采集画面
2. 麦克风采集声音
3. 各自加上时间戳
问题:
– 摄像头和麦克风时钟可能不同步
– 导致时间戳有偏差
原因2:传输延迟不一致
视频流:
画面数据 ──→ 传输 ──→ 解码 ──→ 显示
声音数据 ──→ 传输 ──→ 解码 ──→ 播放
问题:
– 视频帧比声音包大
– 传输时间可能不同
– 网络抖动导致延迟变化




