我想确保我不会搬起石头砸自己的脚,所以问了这个问题。
所以目前我有一个 .mkv 容器中的音频文件,如下所示
音频:FLAC(框架)48000Hz 立体声 1536kbps [A:音频(flac、48000 Hz、立体声、s16)[默认]]
ID : 2
格式 : FLAC
格式/信息 : 免费无损音频编解码器
编解码器 ID : A_FLAC
持续时间 : 39 分 50 秒
比特率模式 : 可变
通道 : 双通道
采样率 : 48.0 KHz
位深度 : 16 位
标题 : 音频
写入库 : libFLAC 1.2.1 (UTC 2007-09-17)
我想将其转换为 AAC,最好不要损失太多质量。
我确实在这个论坛上找到了一个类似的问题。
但那里描述的方法大约有 3 年的历史了。
简而言之:
“按照 AAC 编码指南为 fdk_aac 编译您自己的 ffmpeg
,并使用 fdk_aac 的 -vbr 选项 - 设置为 3”
导致:
ffmpeg -i 输入.flac -c:a libfdk_aac -vbr 3 输出.m4a”。
作者:evilsoup. - 摘自这里。
所以我想知道这是否适合我的情况,或者是否不适合我。
如果仅此而已,那么就无需回答了,谢谢!
答案1
FFmpeg 支持两种 AAC-LC 编码器:
- 原生 FFmpeg AAC 编码器 (
aac
) - 弗劳恩霍夫 FDK AAC (
libfdk_aac
)
FFmpeg 支持一个 HE-AAC 编码器:
- 弗劳恩霍夫 FDK AAC (
libfdk_aac
)
libfdk_aac
libfdk_aac
仍然是 FFmpeg 支持的最佳 AAC-LC 编码器,也是 FFmpeg 支持的唯一 HE-AAC 编码器。但是,它的许可证在分发方面存在问题,因此您需要编译ffmpeg
才能使用它。
原生 FFmpeg AAC 编码器
自回答你提到的。 这是不再被视为实验性的,但它还没有那么好libfdk_aac
。但是,如果你给它足够的位,它应该是可以接受的。这个编码器的优点是它总是可用的,并且自带 FFmpeg。
管道
虽然并不总是实用,但你可以将其传输到你最喜欢的独立编码器:
ffmpeg -i input -f wav - | fdkaac -I -m 5 - -o output.m4a