video - FFmpeg 的 AAC ("libfaac") 编解码器选项?

标签 video ffmpeg video-processing video-encoding

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

最佳答案

使用 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 被选为硬编码默认值,我认为没有令人信服的理由来实现这一点。

关于video - FFmpeg 的 AAC ("libfaac") 编解码器选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15133393/

相关文章:

ffmpeg限制音频采样率

video - 混合 2 个视频文件,一个带有 Alpha channel (部分透明)

ffmpeg - 在级联视频上添加 Logo

c# - 人数统计系统

opencv - JibJab 类面部置换

ios - 如何更改标签样式 CMTimeGetSeconds

c++ - 使用 DirectShow 按请求读取帧

opengl - 哪里可以找到简单的 YUV(可能是 YUV420P)图像来测试? (我可以用ffmpeg提取吗?)

ffmpeg - 我不能在 ffmpeg 中使用 AV_CODEC_ID_MPEG2TS

video - 为什么ffmpeg的v0、v1、v2还在积极开发中? ppa :jon-severinsson/ffmpeg? 发生了什么