当前位置:  开发笔记 > 后端 > 正文

合并mp3文件的最佳方法是什么?

如何解决《合并mp3文件的最佳方法是什么?》经验,为你挑选了4个好方法。

我有很多很多mp3文件,我想将它们合并到一个文件中.我使用了命令行方法

copy /b 1.mp3+2.mp3 3.mp3

但是当它们很多并且它们的命名不一致时,它会很痛苦.时间似乎永远不会出现.



1> joelhardi..:

我知道这是一个老问题,但我有一个更好的答案.大卫的答案是正确的,只是连接文件会将ID3标签分散在里面(虽然这通常不会影响播放,所以你可以"复制/ b"或在UNIX上"cat a.mp3 b.mp3> combined.mp3"在紧要关头).

但是,mp3wrap并不是将多个MP3组合成一个"干净"文件的正确工具.它实际上在MP3帧("换行"部分)中插入了自己的自定义数据格式,而不是使用ID3,这会导致播放问题,特别是在iTunes和iPod上.虽然如果你让它们从头到尾运行(因为播放器将跳过这些是任意的非MPEG字节),文件播放正常,但文件持续时间和比特率将被错误地报告,这会破坏搜索.此外,mp3wrap将清除所有ID3元数据,包括封面,并且无法使用正确的文件长度更新VBR标头.

mp3cat本身会产生一个很好的连接数据文件(因此,比mp3wrap更好),但它也剥离了ID3标签,无法用正确的连接文件长度更新VBR标头.

这里有一个很好的解释这些问题和方法(实际上是两个)组合MP3文件并产生一个"干净"的最终结果与原始元数据完整 - 它的命令行在Mac/Linux/BSD等上工作.它使用:

然后,mp3cat将MPEG数据帧组合成一个连续的文件

id3cp将所有元数据复制到组合文件,最后

VBRFix更新VBR标头.

对于Windows GUI工具,请看一下Merge MP3 - 它可以处理所有事情.(VBRFix也有GUI格式,但它没有加入.)



2> David Precio..:

正如托马斯欧文斯所指出的那样,简单地连接这些文件会在所得到的连接文件中分散多个ID3标题 - 因此时间/比特率信息将大错特错.

您将需要使用可以为您组合音频数据的工具.

mp3wrap非常适用于此 - 它旨在将MP3文件连接在一起,而无需对数据进行解码+重新编码(这会导致音频质量下降),并且还会智能地处理ID3标签.

生成的文件也可以使用mp3splt工具拆分回其组件部分 - mp3wrap将信息添加到IDv3注释以允许此操作.



3> bmurphy1976..:

使用ffmpeg或类似工具将所有MP3转换为一致的格式,例如

ffmpeg -i originalA.mp3 -f mp3 -ab 128kb -ar 44100 -ac 2 intermediateA.mp3  
ffmpeg -i originalB.mp3 -f mp3 -ab 128kb -ar 44100 -ac 2 intermediateB.mp3

然后,在运行时,将文件连接在一起:

cat intermediateA.mp3 intermediateB.mp3 > output.mp3

最后,通过工具MP3Val运行它们来修复任何流错误,而不强制完全重新编码:

mp3val output.mp3 -f -nb


根据ffmpeg文档,有一个内置的文件串联,具有相同的编解码器或不同的编解码器

4> Thomas Owens..:

时间问题与MP3文件的ID3标题有关,这是你的方法在复制整个文件时没有考虑到的.

您是否有想要使用的语言或不重要的语言?这将影响支持所需操作的库.

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有