2012-06-25 54 views
1

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

非常感谢你,

+0

你是在谈论一些特定的muxer,或者你在问一般? – Tuxdude

回答

0

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

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