MPEG2-TS : PCR 和 PTS

MPEG2-TS : PCR and PTS

在mpegts中,PCR和PTS有关系吗?我的意思是,我们为什么要提供 PCR,应该为 PCR 分配什么值?
在一些帖子中我看到可以从 PTS 计算 PCR,如何计算?
嗯,很明显,PTS肯定是增量的,那么PCR呢?它也应该是增量的吗?

PCR 用于无线和卫星传输。如您所知,PTS 是每秒 90000 个滴答。但首先编码器和解码器需要决定秒的定义。解码器时钟可以 运行 快一点(导致缓冲)或慢一点(导致内存耗尽)。 PCR 是一种非常频繁地发送的信号,以保持这些时钟在单向信号传输中同步。这不是什么大问题,因为设备已连接到互联网并通过单独的方法定期同步时钟。出于您的目的,是的,只需使用来自另一个流的 PTS 就可以正常工作,因为除非您正在为摩托罗拉制作广播编码器,否则这无关紧要。

  • PCR= Program Clock Reference,它是编码器的主时钟运行,解码器用来同步解码时使用编码器。 MPEG 中的每个节目流都可能有自己的主时钟,称为 STC。现在 PCR 在 27MHz 时钟上运行并出现在传输流中。 PTS 在 90KHz 时钟(即 33 位值)上进行标记。
  • STC 首先将 27MHz 除以 300,得到一个 90kHz 时钟,该时钟由 33 位计数器计算得出基本 STC 值。余数作为 9 位值,可用作 STC 扩展。

  • PTS- 表示时间戳表示访问单元应该从接收缓冲区中删除,立即解码,并呈现以供显示

通俗地说,PCR 是一个不断滴答作响的 27 MHz 主时钟和从 90KHz 时钟采样的 PTS 值(如上所述),在向观众显示此访问单元时显示。它始终领先于该点的当前 PCR 值。即,如果 PCR 的值为 x(减少 90 KHz 的值),则 PTS 将为(x+ 一些延迟),当 STC 到达 PTS 值

时,解码器缓冲区有足够的时间解码并生成观看图像