对于AAC(“libfaac”)音频编码器,如何通过FFmpeg命令将“MPEG版本”指定为“MPEG-4”或“MPEG-2”?
答案 0 :(得分:1)
使用libfaac时,FFmpeg将MPEG版本硬编码为MPEG-4。您可以在libfaac.c
第118行观察到这一点。
faac_cfg->mpegVersion = MPEG4;
如果要更改它,您将下载FFmpeg源代码,修改此行以改为使用MPEG2
,并使用适当的配置(包括--enable-libfaac
)重新编译FFmpeg。这可以生成一个可播放的文件,但你现在必须使用比特流过滤器为MPEG-4容器创建一个有效的比特流:
ffmpeg -i in.wav -c:a libfaac -absf aac_adtstoasc out.m4a
如果您直接使用FAAC API,您当然可以根据需要更改此参数。
理想情况下,人们会为FFmpeg提交一个补丁,以包含一个允许您手动设置的新选项,但考虑到MPEG-4被选为硬编码默认设置,我认为没有令人信服的理由来实现它。 / p>