TS流中的音频EB size

TS流中视频的EB size 由VBV决定。

音频的EB size对于不同的编码类型有不同的固定值:

#define TSMUX_MP2_ES_BUFFER_SIZE        (3584)
#define TSMUX_AC3_ES_BUFFER_SIZE        (3584)

#define TSMUX_EAC3_ES_BUFFER_SIZE       (5184)

#define TSMUX_MPEG4_ES_BUFFER_SIZE      (3584)

#define TSMUX_AAC_ES_BUFFER_SIZE        (8976)

 

设置EB Size时,需要保证至少有Buffer中保存一帧数据,如果少于一帧会导致UnderFlow,如果帧数太多会导致OverFlow。

一帧数据的大小,需要先根据编码类型和采样率算出帧时间长度,然后帧时间x编码码率得到每帧的数据大小。

帧时间长度的计算请参考:http://blog.csdn.net/wutong_login/article/details/7023062

 

AC-3的Frame size是1536,如果采样率是48000Hz,那么每秒帧率就是48000/1536=31.25,每帧的时间长度就是1000/31.25=32ms

MP-1的Frame Size是1152,AAC-LC的Frame Size是1024。

 

你可能感兴趣的:(buffer)