Как объединить несколько mp3 (wavs) на сервере?

Я ищу возможность объединить несколько аудиофайлов в один на сервере.

Пример: audio_01.mp3 / 33sec + audio_02.mp3 / 22sec = audio_03.mp3 / 55sec

Сервер — на базе Linux, мой основной язык — PHP (на всякий случай)

Не могли бы вы указать мне правильное направление?

Заранее спасибо!

-1

Решение

ИСПОЛЬЗОВАНИЕ FFMPEG

Это объединит два mp3-файла, и в результате метаданные будут такими же, как у первого файла:

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

Это связано с тем, что для ffmpeg вся часть «concat:» представляет собой один «входной файл», и его метаданные будут относиться к первому объединенному файлу. Если вы хотите использовать вместо этого метаданные из второго файла, вы должны добавить его в качестве фиктивного входного файла и сопоставить его метаданные с выходными данными:

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

После выгрузки обоих метаданных и создания новых метаданных вы можете добавить их в выходной файл с помощью -metadata и отключить копирование метаданных, установив сопоставление -map_metadata с отрицательным номером входного файла. Это устанавливает значение имени и никаких других метаданных:

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]