【问题标题】:Merge mp3 files without recode and make cue sheet pointing to individual tracks?无需重新编码即可合并 mp3 文件并使提示表指向单个曲目?
【发布时间】:2017-09-28 09:43:50
【问题描述】:

我有很多有声读物,每本通常分为 20-60 个文件。如果我想按流派将音频播放器分组(将 [专辑艺术家] ID3 标签设置为“各种艺术家”),使用音频播放器导航会很不舒服。

是否有免费的 windows 或 linux 工具或工具集,谁可以执行以下操作?

  1. 无需重新编码即可将有声读物文件合并为一个 mp3
  2. 仔细构建正确的 CUE 表,原始 ID3 标签指向新实体 mp3 文件中的前章节。

【问题讨论】:

    标签: linux windows merge mp3 cue-sheet


    【解决方案1】:

    您可以通过简单的连接轻松加入 mp3。

       cat file1.mp3 file2.mp3 file3.mp3 file4.mp3 file5.mp3 > file-all.mp3
    

    可以使用 ffprobe 提取标签:

       ffprobe file1.mp3
    

    提示表是文本文件,您可以在此处了解其格式:

       https://en.wikipedia.org/wiki/Cue_sheet_(computing)
    

    由于这里的问题与编程有关,我不会发布完整的解决方案。

    【讨论】:

    • MP3 文件通常包含标签等。虽然您可以连接 MPEG 流,但这在实践中是行不通的。使用 FFmpeg 或类似工具提取流。
    • 它只适用于选定的音频播放器,你很幸运没有使用其他播放器。换句话说,连接 mp3 文件而不是流是松散和错误的,因为源 mp3 包含标题,ID3 标签甚至覆盖图像以及可以放置在那里的任何内容。生成的文件将是 headers、streams 和 id3 标签的 frankensteined 混合。此外,您的方法根本无法满足我的需求,因为错过了不太常见的任务的配方 - 构建 CUE。而且,我知道一些 concat 工具(如 mp3cat)的存在,但我需要一个工具或一组工具来完成我的任务。
    • 它适用于我拥有的任何播放器,所以对我来说已经足够了。我知道 mp3 的内部结构,因为我创建了许多与多媒体相关的软件,所以我知道如何以及为什么可以连接文件。另外,SO 是程序员的资源,所以自己编写自己的工具,我会给出所有需要的方向。
    • 您在回答未提出的问题,抱歉。我没有询问编程方向。
    【解决方案2】:

    不要使用 MP3,使用 Matroska (MKV)。它支持所有这些章节以及不支持的内容。

    FFmpeg 和 mkvmerge 是您可以使用的工具。使用-c:a copy,音频不会被重新编码。 (MKV 支持 MP3 作为编解码器。)

    【讨论】:

    • Matroska 的音频播放器支持怎么样? F.e.标准的 Android 谷歌音乐播放器还是 IOS 的标准播放器?
    • 安卓,是的。 iOS,默认情况下不是,但您始终可以在您的应用中内置 Matroska 解复用器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    • 1970-01-01
    • 2013-12-09
    相关资源
    最近更新 更多