文章目录
- 默认同步策略:音频主时钟(Audio Master)
- 同步流程(视频线程视角)
- 时钟系统:Clock 结构与 set_clock()
- 完整调用过程
- 音频解码线程更新音频时钟(audio_thread)
- 主线程事件循环(event_loop → video_refresh)
本文系统地解析 ffplay 的音视频同步(AV Sync)机制,包括其核心原理、三种同步模式、关键数据结构、时钟更新逻辑
默认同步策略:音频主时钟(Audio Master)
音频播放由操作系统音频设备驱动,硬件级精准
人耳对音频卡顿极其敏感,而人眼对轻微视频丢帧容忍度高
视频可通过延迟显示或丢帧来追赶音频,但音频很难“插值加速”
同步流程(视频线程视角)
voidvideo_refresh(void*opaque,double*remaining_time){VideoState*