在终端中合并M4A文件

Hah*_*ann 6 audio terminal merge file m4a

我想将Mac上的几个M4A(声音)文件合并为一个声音文件。可以使用终端命令来完成吗?有这样的事吗?

小智 6

是的,ffmpeg不起作用,这与互联网回声室会告诉您的相反。至少不是那样。令人难以置信的是,有多少人不得不流口水,浪费每个人的时间。

这里。用链接证明我错了,但这是您想要的,这是您唯一看到的地方。特雷斯很简单。

ffmpeg -i file1.m4a -acodec copy file1.aac

ffmpeg -i file2.m4a -acodec copy file2.aac

cat file1.aac file2.aac >>filenew.aac

ffmpeg -i filenew.aac -acodec copy -bsf:a aac_adtstoasc filenew.m4a
Run Code Online (Sandbox Code Playgroud)

我为额外的库编译了自己的ffmpeg,因此我希望这是默认库之一。如果没有,那绝对是值得的麻烦。我无法在另一个系统上验证以上内容,但在旧的Hardy Heron Ubuntu grunt系统上,加入的文件具有正确的m4a元数据和标签,并且音频质量没有变化。


Nic*_*dad 5

FFMPEG 可以帮助您解决这个问题。查看他们的How To Contatenate 媒体文件文章。

  • 另一种方法:`ffmpeg -f concat -i <(for f in ./*.m4a; do echo "file '$PWD/$f'"; done) -c copy output.m4a` 确实有效。 (3认同)
  • @Arefly 在较新版本的 ffmpeg 中,您需要添加 `-safe 0` 参数。 (3认同)
  • 我使用 Brew 安装了 FFMPEG 并运行了以下命令:`ffmpeg -i "concat:first.m4a|second.m4a" -c copy out.m4a` 然而,`out.m4a` 只包含 `first.m4a`。声音“second.m4a”丢失。当我通过 `cat` 命令执行此操作时,也会发生同样的情况。 (2认同)
  • “concat”选项与“-safe 0”结合使用对我有用。事实上,我的最终配方使用了@Rmano 建议的流程替换。 (2认同)