Open aimybbe opened 5 years ago
vlc 3.0.6播不了,vlc 2.2.4可以。
查了下vlc的代码,vlc 3.x之后新增了ps.h/ps.c解析mpeg-ps流。 https://github.com/videolan/vlc/blob/3.0.x/modules/demux/mpeg/ps.h
解析ps system header时,上面红框内的代码会初始化出音频track,如果此时还没有读到psm header,会默认为mp1/2的音频codec。
解决办法:
可以屏蔽libmpeg-ps-enc.c::ps_muxer_input 函数中生成system_header的代码
屏蔽了,写G711A,用vlc播还是没声音,用ffplay播放,提示Could not find codec parameters for stream 1 (Audio: mp2, 0 channels, s16p): unspecified frame size
上传一个小ts文件我分析下?
libmpeg aac 8k 单声道 muxer 出来的test_aac.ps使用VLC无法播放声音,AAC单独写成ADTS+ES数据可以播放。