如何在服务器上加入几个mp3(wavs)?

时间:2015-04-26 02:48:20

标签: php mp3

我正在寻找在服务器上加入多个音频文件的可能性。

示例: audio_01.mp3 / 33sec + audio_02.mp3 / 22sec = audio_03.mp3 / 55sec

服务器 - 基于Linux,我的主要语言是PHP(以防万一)

你能指点我正确的方向吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

使用FFMPEG

这将连接两个mp3文件,结果元数据将是第一个文件:

ffmpeg -i "concat:file1.mp3|file2.mp3" -acodec copy output.mp3

这是因为,对于ffmpeg来说,整个" concat:" part是单个"输入文件",其元数据将是第一个连接文件。如果要使用第二个文件中的元数据,则必须将其添加为虚拟输入文件,并将其元数据映射到输出的元数据:

ffmpeg -i "concat:file1.mp3|file2.mp3" -i file2.mp3 -acodec copy test.mp3 -map_metadata 0:1

如果您想从两个元数据构建元数据,您必须手动完成。您可以使用

转储文件的元数据
ffmpeg -i file1.mp3 -f ffmetadata file1.metadata

转储metadatas并构建新元数据后,可以使用-metadata将其添加到输出文件中,并且可以通过从负输入文件编号设置-map_metadata映射来禁用元数据复制。这将设置名称值而不设置其他元数据:

ffmpeg -i "concat:file1.mp3|file2.mp3" -acodec copy -metadata "title=Some Song" test.mp3 -map_metadata 0:-1