如何使用 FFmpeg 将 FLAC 转换为 MP3

如果你想将 FLAC 转为 MP3,FFmpeg 是一款非常方便的工具。它最初可能看起来很复杂,但一旦掌握了概念,就会变得相当简单。在本篇文章中,我将指导你使用 FFmpeg 将 FLAC 转为 MP3。

免费无损音频编解码器(FLAC)是一种开源音频压缩格式,以其无损压缩而闻名,这意味着它在保留音频质量的同时减小了文件大小。它不同于 MP3 和 AAC 等有损编解码器,后者会丢弃音频信息以达到更大的压缩效果。

FLAC 深受发烧友和音乐发烧友的青睐,他们优先考虑音频文件的高保真。该格式支持元数据标签、专辑封面和快速搜索,从而提高了其可用性。如需更深入地了解 FLAC,可参考 FLAC 官方文档或 Hydrogenaudio 的 FLAC 页面,其中提供了全面的见解。

现在,让我们开始编写代码!

使用 FFmpeg 将 FLAC 转换为 MP3 的命令

在最基本的形式中,使用 FFmpeg 将 FLAC 转换为 MP3 的命令如下:

ffmpeg -i input.flac -ab 192k output.mp3

此处,-i input.flac指定输入文件,-ab 192k设置音频比特率,output.mp3是输出文件。

我们来分解一下每个参数:

  • -i:代表输入文件。
  • input.flac:这是我们要转换的FLAC文件。将其替换为您的文件名。
  • -ab:设置音频比特率。在示例命令中,我们将其设置为 192k,这通常可以在文件大小和音频质量之间提供良好的平衡。该值可以根据您的需要进行调整。
  • output.mp3:这是输出文件的名称(和路径,如果需要)。FFmpeg 会自动从文件扩展名中检测所需的格式。

进一步参数调整

虽然基本命令通常就足够了,但您可以调整其他参数来根据您的具体需求自定义输出。

ffmpeg -i input.flac -ab 320k -ac 2 -ar 48000 -vn -y output.mp3

以下是一些附加参数:

  • -ac:该参数设置音频通道数。2代表立体声,而1指定单声道。
  • -ab:设置音频比特率。在示例命令中,我们将其设置为 320k。
  • -ar:设置音频采样频率。对于大多数应用,4800044100Hz 就足够了。
  • -vn:当您想要跳过输入文件中可能存在的任何视频流时,使用此参数。
  • -y:此选项用于覆盖输出文件(如果已存在)。

就是这样。这个简单的 FFmpeg 单行代码允许您轻松地将 FLAC 转换、重新编码和操作为 MP3 文件格式。接下来将介绍高级操作,例如批量转换和元数据保存。

FLAC 批量转换为 MP3

如果您有一个充满 FLAC 文件的文件夹,并且想要将其转换为 MP3,请按照以下步骤一次性完成此操作:

for file in *.flac; do ffmpeg -i "$file" -ab 192k "${file%.flac}.mp3"; done

该命令循环当前目录下的所有 FLAC 文件并将它们一一转换为 MP3。${file%.flac}.mp3是一个简洁的 shell 脚本,它能去除输入文件名中的 .flac 扩展名,并将其替换为输出.mp3的文件名。

如果您想改变音频、比特率、通道等,请记住用批量转换脚本替换我们在前面部分中学到的参数。

最后,让我们来看看音频元数据的保存。

在转换过程中保留元数据

转换音频文件时要关心的一个问题是元数据的保存。ID3 标签是一种与 MP3 音频文件格式一起使用的元数据容器。它们允许将标题、艺术家、专辑、曲目编号或有关文件的其他详细信息等信息存储在文件本身中。

常用的 ID3 标签有两个版本:ID3v1 和 ID3v2。每个人都有不同的属性和能力。

  • ID3v1:这个版本的ID3相当有限,只能容纳少量数据(128字节)。可用于数据的类别非常具体(标题、艺术家、专辑、年份、评论和流派),并且每个类别只能容纳有限数量的字符。它通常位于文件末尾。
  • ID3v2:这是一种更高级的格式。它可以包含各种元数据,包括专辑封面、BPM、歌词以及有关曲目的更多详细信息。数据存储在文件的开头。

要在转换期间保留元数据,请使用以下-map_metadata 0选项:

ffmpeg -i input.flac -ab 192k -map_metadata 0 -id3v2_version 3 -write_id3v1  1 output.mp3
  • -map_metadata 0指示 FFmpeg 将元数据从第一个输入文件复制到输出文件。
  • -id3v2_version 3:此选项设置要使用的 ID3v2 版本。在本例中,它设置为 3 (ID3v2.3)。ID3v2.3 是支持最广泛的版本,因此通常用于确保与各种媒体播放器的最大兼容性。
  • -write_id3v1 1:添加此参数时FFmpeg也会写入ID3v1标签。这很有用,因为尽管 ID3v1 标签的功能较差,但由于其寿命长且简单,它们受到广泛支持。添加它们和 ID3v2 标签可以帮助确保许多玩家可以访问元数据。

要完全理解 -id3v2_version 3 -write_id3v1 的使用,有必要对 ID3 标签有一定的了解。

通过包含这些参数,您可以确保原始 FLAC 文件中的元数据得以保留,并且可以在新的 MP3 文件中广泛访问。如果您有一个大型音乐库并依靠元数据来组织和导航您的收藏,这会特别有用。

结论

FFmpeg 提供了一种将 FLAC 转换为 MP3 的强大而灵活的方法。FFmpeg 可以处理从基本的单文件转换到批处理和元数​​据保存的所有事务。

推荐阅读:FFmpeg 将 MOV 转换为 MP4 两种技巧(包含命令行和示例)

本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/30659.html

(0)

相关推荐

发表回复

登录后才能评论