音频、视频、外部时钟同步的区别

  • 音频时钟同步:以音频播放速度为准

  • 视频时钟同步:以视频显示节奏为准

  • 外部时钟同步:以系统/墙钟/统一时间轴为准

三种同步基准的区别

1)音频为基准(audio master)

这是最常见、也最自然的方式。

原因很简单:

  • 音频设备一旦开始播放,声卡会按固定采样率持续吐数据

  • 人耳对音频卡顿、爆音、断续非常敏感

  • 视频帧"早一点晚一点显示"一般比音频异常更容易接受

所以音频时钟通常最稳定。

做法

  • 音频时钟持续前进,作为主时钟

  • 视频根据音频时钟决定:

    • 该不该显示下一帧

    • 要不要等一会儿再显示

    • 落后太多时要不要丢帧追赶

特点

  • 音频平滑

  • 视频可能会:

    • 微调显示间隔

    • 偶尔丢帧

    • 偶尔重复帧

适用

  • 普通播放器

  • 本地文件播放

  • 大多数 ffplay / VLC / 常规播放器思路


2)视频为基准(video master)

就是以视频帧时间轴为准,音频去追视频。

这个一般不如音频主时钟常见,但在一些场景里会用:

  • 视频是核心,比如监控、转码、录像切片

  • 视频时间戳更可信

  • 你希望"画面节奏"绝对正确

  • 音频只是附属

做法

  • 视频帧的 pts/dts 或视频显示时间作为主时钟

  • 音频根据视频主时钟判断自己快了还是慢了

  • 然后对音频做补偿:

    • 小偏差:重采样,轻微变速

    • 大偏差:丢样本/补静音/跳跃校正

特点

  • 视频更稳定

  • 音频可能会被"拉伸"或"压缩"

  • 如果补偿过猛,可能听出音调/节奏异常

适用

  • 以视频输出为核心的链路

  • 某些录像合成、TS 复用、监控流处理

  • 视频时间戳明确,音频时间戳不太可靠时


3)外部时钟为基准(external master)

就是不用音频也不用视频本身当主时钟,而是用一个"外部统一时间"。

比如:

  • 系统单调时钟

  • 网络同步时钟

  • 实时采集时间

  • 某个设备统一时基

做法

  • 音频、视频都去对齐外部时钟

  • 谁快谁慢都按外部时钟来修

特点

  • 适合实时系统、直播、会议、监控

  • 多路流、跨设备同步更方便

  • 实现复杂度更高

适用

  • 实时直播

  • 摄像头采集

  • 网络传输

  • 多设备协同系统


三者的核心区别,一句话理解

  • 音频主时钟:视频去追音频

  • 视频主时钟:音频去追视频

  • 外部主时钟:音视频都去追外部时间


三、为什么"以视频为基准"时常常要对音频做重采样补偿

因为音频不是一帧一帧"显示"的,它是连续输出的。

比如 AAC 48kHz:

  • 声卡按 48000 samples/s 播

  • 但视频主时钟可能要求:

    • 这一小段音频应该稍微快一点

    • 或者稍微慢一点

  • 如果你仍然死板地按 48000 播,时间一长就会和视频越差越远

所以就要做:

轻微速度调整

比如把实际播放效果从:

  • 48000 Hz

微调成:

  • 47980 Hz

  • 48020 Hz

这就叫重采样补偿

注意:

这里通常不是改编码参数里的 nominal sample_rate,

而是通过 resampler 让输出样本数略多或略少,从而实现"慢一点"或"快一点"的播放效果。

相关推荐
KevinCyao4 小时前
java视频短信接口怎么调用?SpringBoot集成视频短信及回调处理Demo
java·spring boot·音视频
EasyDSS6 小时前
私有化视频会议系统/私有化音视频系统EasyDSS在社交娱乐领域实时互动场景中的应用
实时互动·音视频·娱乐
Ulyanov8 小时前
基于ttk的现代化Python音视频播放器:UI设计与可视化技术深度解析
python·ui·音视频
Black蜡笔小新9 小时前
GB28181视频汇聚平台EasyCVR构建智慧环保可视化监测解决方案,赋能生态可持续发展
音视频
肖爱Kun10 小时前
SRT协议封装MPEG-TS 流的视频和音频PES头结构
音视频
reasonsummer11 小时前
【教学类-160-02】20260409 AI视频培训-练习2“豆包AI视频《小班-抢玩具》+豆包图片风格:手办”
python·音视频·ai视频·豆包·通义万相
肖爱Kun11 小时前
SRT协议封装MPEG-TS 流的视频和音频TS头结构
网络·音视频
Cxiaomu11 小时前
Flutter 录制视频+大文件上传 MinIO + NodeJS落库
flutter·音视频·文件上传
李宏伟~12 小时前
大文件分片案例html + nodejs + 视频上传案例
javascript·html·音视频
VOOHU-沃虎12 小时前
沃虎电子:音频变压器在信号隔离与音频接口中的选型与应用解析
算法·音视频