音视频指南
文章目录
前言
提示:本文主要介绍音视频同步原理,及常见的音视频同步方案,并详细介绍音视频同步原理:
要实现音视频同步,通常需要选择一个参考时钟,参考时钟上的时间是线性递增的,编码音视频流时依据参考时钟上的时间给每帧数据打上时间戳。在播放时,读取数据帧上的时间戳,同时参考当前参考时钟上的时间来安排播放。这里的说的时间戳就是PTS。实践中,我们可以选择:同步视频到音频、同步音频到视频、同步音频和视频到外部时钟。
DTS和PTS是音视频同步的关键技术,同时也是丢帧策略密切相关。
一、音视频同步简单介绍?
声卡和显卡均是以一帧数据来作为播放单位,如果单纯依赖帧率及采样率来进行播放,在理想条件下,应该是同步的,不会出现偏差。但是由于解码、传输、编码、网络问题等原因导致了音频与视频不能同步,当两者严重不同步的时候,会出现视频卡顿、音频不连续等问题,影响视频的播放效果。
视频:帧率,表示视频一秒显示的帧数。
音频:采样率,表示音频一秒播放的sample数。
一个AAC音频frame每声道1024个sample,一帧播放时长duration=(1024/44100)×1000ms = 23.22ms;视频tps25,frame播放时长duration=1000ms/25 = 40ms。声卡虽然是以音频采样点为播放单位,但通常我们每次往声卡缓冲区送一个音频frame,每送一个音频frame更新一下音频的播