FFmpeg的AAC(“libfaac”)编解码器选项?

时间:2013-02-28 10:42:07

标签: video ffmpeg video-processing video-encoding

对于AAC(“libfaac”)音频编码器,如何通过FFmpeg命令将“MPEG版本”指定为“MPEG-4”或“MPEG-2”?

1 个答案:

答案 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>