如何将巨大的 FLAC 文件编码为 MP3 和 AAC 等其他文件?

如何将巨大的 FLAC 文件编码为 MP3 和 AAC 等其他文件?

我的问题是录音很长,超过了 WAV 支持的长度。我说的是大约八小时长度的连续录音。

现在,我的大部分录音都使用袜队转换为 FLAC,这是最有意义的,因为这些是来自外部声卡的现场录音。

现在,我想将其编码为 MP3 或 AAC(在 MP4 容器中)。

我设法做到这一点的唯一方法是使用 FFmpeg,但实际上我宁愿使用编码器应用程序,例如lame, 或neroaacenc

现在,我在可能的情况下这样做,但我使用 WAV 作为绕道。我将 FLAC 解码为 WAV,然后将 WAV 编码为最终产品。但正如我所说,它不适用于超过一定长度的录音。

现在,我的想法是使用管道并强制解码为 RAW,然后将其编码为目标格式。

我需要一些帮助。有人可以向我提供一些如何解码 FLAC 文件并通过lame管道 RAW 数据将其编码为 MP3 的示例吗?

答案1

你应该尝试这样的事情:

flac -c -d -force-raw-format --endian=little --signed=unsigned input.flac | \
  lame -r --little-endian --unsigned \
       -s 44.1 [other encoding options here] - output.mp3

在一边flac

  • -c表示输出到标准输出
  • -d解码
  • -force-raw-format --endian=little --signed=unsigned强制 RAW、小尾数、无符号输出

在一边lame

  • -从标准输入读取(这几乎是标准的)
  • -r读取RAW PCM数据
  • --little-endian --unsigned匹配蹩脚的输出
  • -s频率:将该参数与您的 flac 文件包含的内容相匹配
  • --bitwidth如果您的 flac 文件不是 16 位/样本,您可能需要

关于字节序和符号,不确定您拥有的“本机”格式是什么(或如何确定它) - 尝试一些组合。只要它们在管道的两侧都匹配,选择错误的就只会花费 CPU 时间。

答案2

考虑使用mp3fs。这个用户空间文件系统守护进程在您的文件系统上创建一个视图,其中 flac 文件以 mp3 的形式呈现。安装后,您可以拥有例如。即使 mp3 物理上并不存在,您的媒体播放器也会直接从该文件系统读取。另外,您可以只从该文件系统复制文件,例如。你这个MP3播放器。

相关内容