2

我阅读了一些关于 mpeg 传输流的教程,但有两个基本问题我不明白: 1. mpeg-ts muxer 从音频和视频中接收 pes 数据包,并输出 mpeg-ts 数据包。它是如何进行这种混合的?是不是每当来自任何程序的数据包等待其输入时,复用器就会唤醒并将 pes 切片处理成 mpeg-ts ?2. 用户可以选择mpeg-ts muxer输出的比特率吗?编码速率与 mpeg-ts 速率之间有什么联系?

非常感谢你,

4

1 回答 1

2

MPEG2-TS 多路复用是一种复杂的艺术形式。建议阅读:MPEG2-TS 规范、SPTS/MPTS、VBR 与 CBR、假设参考解码器和缓冲区(EB、MB、TB)、抖动和漂移。

您的问题的一个非常简短的答案可以总结如下:对于每个编码器,在线路的另一端有一个解码器,它想要在每个帧间隔显示一个视频帧(或音频帧)。这个帧需要在它的呈现时间之前被解码。如果此帧使用其他帧作为参考,则它们也需要在呈现之前进行解码。多路复用时,数据必须在呈现之前有足够的时间到达。要在时间 n 呈现的视频帧必须在时间 n - x 在解码器处可用,其中 x 是时间度量,取决于解码器的缓冲速率(参见 MB、TB、EB)。如果 TS 比特率太低,就会出现“下溢”,视频无法及时进入解码器。如果 TS 比特率太大,就会发生“溢出”,缓冲区必须丢弃数据包,这也会产生视觉伪影。

于 2013-05-21T11:53:51.927 回答