flac2all 是一个简单的实用程序,可让您将高质量 FLAC 文件转换为几乎任何现代音频格式。与 ffmpeg 不同,该实用程序可自动执行 FLAC 音频的排序、标记和编码过程。 flac2all 易于安装和使用。了解如何使用这个高度通用的程序,它可以充当满足您所有音频转码需求的前端。
另请阅读: 延长 Linux 笔记本电脑电池寿命的 4 种方法
其核心是,弗拉克2全部既是一个包装器又是一个调度程序。它采用 FLAC 文件列表,并使用各种编解码器来排队和管理转码过程。
这种方法的一个优点是 flac2all 不依赖于单个编码器,这意味着您可以轻松地使程序适应您可能想要使用的任何新格式。例如,您可以安装自定义的弗劳恩霍夫 FDK AAC 编码器与常规 AAC 一起。

最后,flac2all 还保留了 FLAC 收藏的文件夹结构,因此您在使用该程序时无需重做存档目录。如果您正在寻找一种快速、简单的方法来以不同的格式重新创建 FLAC 收藏,这些功能使 flac2all 成为一个方便的实用程序。
另请阅读: Su、Sudo Su、Sudo -s 和 Sudo -i 之间的区别
安装 flac2all
在安装 flac2all 之前,获取其所有依赖项非常重要,以确保安装后不会发生冲突:
sudo apt install python3 flac python3-pip python3-zmq python3-notcurses lame opus-tools
接下来要做的就是通过 pip 下载 flac2all,pip 是一个特定于 Python 的包管理器,您可以使用它来安装附加软件。运行以下命令来使用 pip:
pip3 install --user flac2all这会将 flac2all 安装到当前用户的“.local”目录。因此,如果您在多用户系统上,其他用户将无法运行该程序。

为了运行 flac2all,请将以下代码行添加到“.bash_profile”文件中,将“.local”目录包含到计算机的 PATH 变量中:
PATH=$PATH:/home/$USER/.local/bin/
export PATH最后,重新启动或注销当前会话以应用新设置,然后您可以运行flac2all -h确认您已正确安装该程序。

使用 flac2all 转码音频
flac2all 的开发者将程序设计得尽可能简单。例如,将 FLAC 目录转码为单一格式的语法如下所示:
flac2all mp3 -o ./output ./royalty-free- “flac2all”之后的第一个元素突出显示您想要转码到的格式。在此示例中,我将 FLAC 文件夹转换为 MP3。
- 第二个元素包含当前转码作业的选项。在这里,
-o选项告诉 flac2all 将任何 MP3 文件发送到“输出”文件夹。 - 最后,第三个元素表示 FLAC 文件的源文件夹。就我而言,这是我的“免版税”文件夹。

另请阅读: 如何从 Linux 终端调整图像大小和优化图像
转码为多种格式
您还可以使用 flac2all 将文件并行转码为多种格式,如果您想将存档传输到具有不同格式要求的播放器,这会很有用。
例如,我可以运行以下命令将“免版税”文件夹转码为 MP3 和 Opus:
flac2all mp3,opus -o ./output ./royalty-free请注意,多格式转码将比单一格式转码花费更长的时间,因为 flac2all 会针对您指定的每种格式对目录中的每个文件进行编码。就我而言,转码 MP3 和 AAC 所需的时间是仅转码 MP3 所需时间的两倍。

创建自定义转码作业
除了创建简单的转码之外,还可以使用 flac2all 调整编码器的行为方式,如果您希望存档副本具有一定的音频质量,这尤其有用。例如,看看下面的命令。
flac2all mp3 --lame-options='b 320' -o ./output ./royalty-free此命令告诉程序使用 LAME MP3 编码器以 320k 的恒定比特率对我的“免版税”文件夹进行转码。

您还可以为多格式转码创建自定义作业。例如,以下命令告诉 flac2all 使用 MP3 和 Opus 创建自定义转码:
flac2all mp3,opus --opus-options='downmix-mono' --lame-options='b 320' -o ./output ./royalty-free
创建 flac2all 转码集群
虽然您可以在单台计算机上使用 flac2all,但也可以将程序传播到多个系统 - 这是加快转码过程的实用解决方案。确保您准备好以下资源:
- 两台或多台可以直接相互连接的机器
- 您可以在所有计算机上访问 NAS,因为主 flac2all 进程仅指示其工作客户端处理现有数据
- 主进程与其工作客户端之间的可靠网络连接
了解这些因素后,本教程将重点关注在两台 Ubuntu 22.04 机器之间创建一个小型 flac2all 集群。
另请阅读: 如何在 Linux 中设置和使用 SSH
设置网络安装
创建网络存储安装以开始。为此,我将使用 SSHFS,因为它易于使用并且几乎适用于所有 Linux 发行版。
首先,在您要使用的所有计算机上安装 SSHFS:
sudo apt install ssh sshfs
接下来,创建 SSHFS 将挂载的文件夹。我将在我的工作计算机的主目录中创建一个“免版税”文件夹:
mkdir /home/$USER/royalty-free
现在使用以下命令将“免版税”目录安装到每台工作计算机上:
sshfs -o allow_other,default_permissions $USER@192.168.68.10:/home/$USER/royalty-free /home/$USER/royalty-free
启动 flac2all 集群
您现在可以通过运行主进程并添加两个来启动转码集群-m和-C标记为 flac2all。
例如,在主机上运行以下命令来创建主进程:
flac2all lame,aac -m -C --lame-options='b 320' -o /home/$USER/output /home/$USER/royalty-free
与常规 flac2all 不同,创建主进程不会启动转码会话。为了转码文件,您还需要通过在工作计算机上运行以下命令将工作人员连接到主进程:
flac2all_worker 192.168.68.10完成后,工作客户端将创建一个连接到主程序的无头进程。之后,flac2all 一旦发现有少量工作人员待命,就会立即启动。

另请阅读: 如何在 Linux 中下载并配置 DaVinci Resolve
常见问题解答
处理我的音频文件后,flac2all 不会终止。我该如何解决这个问题?
每当与 flac2all 及其 Python 依赖项发生冲突时,就会发生这种情况。通过更新您的安装来修复它,以反映 flac2all 及其依赖项之间的任何更改。跑步pip install --user --upgrade flac2all升级 flac2all。
flac2all 抛出“FileNotFound”错误。我的安装有问题吗?
不!当程序无法检测到您想要转码的格式的编码器时,就会出现此问题。
例如,运行flac2all opus […]如果没有 Opus 编码器,将导致“FileNotFound”错误。您可以通过安装 ffmpeg 来解决该问题。这是一个包罗万象的程序,还将安装大多数常见的音频编码器。跑步sudo apt install ffmpeg将 ffmpeg 添加到您的系统中。
工作进程在我的 SSHFS 安装中找不到任何媒体。 flac2all 坏了吗?
不会。这通常是由于主进程与其工作进程之间的目录不匹配而发生的。为了确保转码集群正常工作,请通过运行以下命令检查每台机器之间的文件路径是否相同pwd在您的媒体文件夹和 SSHFS 安装的根目录上。






