我有一个fmp4文件(使用h264和aac帧代码)。在使用VLC播放时,只有视频没有音频,但可以使用PotPlayer解析音频(腾讯视频播放器也可以)。AAC格式是ADTS。我的fmp4音频相关盒子的屏幕截图如下
问题已经解决:
其实MP4文件中的AAC数据无法播放是因为我填充的是ADTS格式的AAC数据的原因,本地播放时填充MP4文件的AAC音频格式得是raw格式的AAC编码帧,这样就能正常在VLCPlayer下播放了,
即libfaac编码AAC帧时改下参数即可:
//获取当前配置参数
faacEncConfigurationPtr pConfiguration = faacEncGetCurrentConfiguration(aac_config.EncHandle);
//调整配置参数
#if 1
pConfiguration->inputFormat = FAAC_INPUT_16BIT;
pConfiguration->outputFormat = 0; /*0 - raw; 1 - ADTS */
pConfiguration->bitRate = 16000;
pConfiguration->useTns = 0;
pConfiguration->allowMidside = 1;
pConfiguration->shortctl = SHORTCTL_NORMAL;
pConfiguration->aacObjectType = LOW;
pConfiguration->mpegVersion = MPEG4;//MPEG2
//pConfiguration->useLfe = 1;
#endif
https://jingyan.baidu.com/article/27fa73264c532e46f8271f97.html