使用 ffmpeg 从 FLAC 到 ALAC 的无损音频转换

Pag*_*ect 21 ffmpeg flac

ALAC 和 FLAC 都是无损音频格式,从一种格式转换为另一种格式时,文件的大小通常大致相同。我曾经ffmpeg -i track.flac track.m4a在这两种格式之间进行转换,但我注意到生成的 ALAC 文件比原始文件小得多。当使用像 MediaHuman Audio Converter 这样的转换器软件时,ALAC 的大小将保持与 FLAC 的大小大致相同,所以我想我在这里遗漏了一些导致ffmpeg信号下采样的标志。

Pag*_*ect 37

好吧,我在这里问的可能有点快,但为了将来参考,这里是答案:

应该将标志传递-acodec alacffmpegFLAC 和 ALAC 之间的无损转换:

ffmpeg -i track.flac -acodec alac track.m4a

  • 解释一下这里发生的事情:.m4a 是 MP4 文件格式的 Apple 变体。FFmpeg 和大多数其他软件在输出到 `mp4` 或 `m4a` 时将默认为 AAC 编码器,因此需要明确的 `-acodec` 选项。 (8认同)
  • 某些 FLAC 文件包含专辑封面缩略图。您可以添加 `-vcodec copy` 以将它们包含在新的 ALAC 文件中。 (4认同)