本文介绍: 该图是以音频的时间为基,对视频播放时间的延迟控制方案,只调整视频的播放延时。delayTime是视频播放的延迟时间,初始值是1 / FPS * 1000 (ms),如果FPS为25帧率,初始值即为40ms。为理解同步过程,明确一点,delayTime是会不断调整的,并不是一直40ms。以上的time_base,结构体是AVStream::time_base。Step2中展示的是diff(音视频播放时差)处于不同范围时,对应不同的视频播放延迟时间(delayTime)。
音视频同步 – 以音频时间为基
上图介绍:
流程:
Step1:判断 音频帧 or 视频帧 快 ?
Step2:当diff > 0 ms 时,说明音频帧比视频帧快:
(1)3ms – 500ms:
视频帧慢了3ms – 500ms,将上一次delayTime乘以2/3,达到减少视频延迟时间的效果。
当diff处于3 – 500 ms这个范围,视频延迟时间(delayTime)要求,不能低于默认延迟时间(defaultDelayTime,25帧则为40ms)的一半,也不能大于默认延迟时间的两倍。
Step2:当diff < 0 ms 时,说明音频帧比视频帧快:
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。