6-5_音视频同步原理-媒体时钟

音视频同步原理-媒体时钟

媒体时钟(media clock)是指用于同步和控制多媒体系统中音频和视频信号的时序的参考时钟。媒体时钟的主要功能包括:

  1. 同步音视频信号:在多媒体系统中,需要确保音频和视频信号同步播放,以避免音画不同步的现象。例如,在电影播放中,观众希望看到的对话与听到的声音完全同步。
  2. 数据采样和回放:音频和视频信号通常需要以固定的速率进行采样和回放。媒体时钟提供了这个固定速率的参考。例如,音频的采样率可能是44.1 kHz或48 kHz,而视频的帧率可能是30 fps或60 fps。

1.全志平台媒体同步原理

在全志MPP平台中,媒体时钟通常指的是用于同步音频和视频播放的时钟。这个时钟的主要作用是确保音频和视频数据以正确的速率和时间间隔进行传输和播放,以避免音视频不同步或者出现卡顿等问题。在媒体播放过程中,媒体时钟会与其他时钟源(例如音频解码器、视频解码器等)进行同步,以确保整个系统的正常运行。

**system clock:**系统时钟。使用 clock_gettime(CLOCK_MONOTONIC, &t)得到。这是 monotonic类型,记录从硬件启动到当前的持续时间,所以 绝不会被修改,可以保证时间绝对准确,也不会暂停。

**custom system clock:**定制的系统时钟。基于system clock,加入了暂停的概念,如果有暂停,custom system clock也会暂停计时,并记录暂停的持续时间。因此system clock和custom system clock只是暂停时间上的差距,而 起始时间相同。

**cedarx clock:**cedarx时钟,基于custom system clock, 起始时间为0。但是加入了变速的计算,所以cedarx clock 是一条可变速的时钟,这对于av同步相当重要。

**media clock:**媒体时钟,基于cedarx clock。唯一的不同 在于media clock的起始时间是上层组件设置的第一个视频 帧或音频帧的pts,而cedarx clock的起始时间是0。因此, media clock也是一条可变速的时钟,并且变速值始终和 cedarx clock一致,只是起始时间的不同。

视频帧追着media clock走,media clock跟着音频帧的PTS去不断调整!