TS流中视频的EB size 由VBV决定。 音频的EB size对于不同的编码类型有不同的固定值: #define TSMUX_MP2_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编码码率得到每帧的数据大小。 帧时间长度的计算请参考:
AC-3的Frame size是1536,如果采样率是48000Hz,那么每秒帧率就是48000/1536=31.25,每帧的时间长度就是1000/31.25=32ms MP-1的Frame Size是1152,AAC-LC的Frame Size是1024。 (wutong_login) |