2013-08-25 3 views
3

У меня есть несколько файлов M4A (sound) на Mac, которые я хочу объединить в один звуковой файл. Можно ли это сделать с помощью команды Terminal? Что-то подобное существует?Слияние файлов M4A в терминале

+0

http://apple.stackexchange.com/questions/48866/merge-multiple-m4a-files –

+0

Возможно, вы захотите посмотреть на инструмент [ffmpeg] (https://trac.ffmpeg.org/wiki/How % 20to% 20concatenate% 20 (соединение,% 20merge)% 20media% 20files). – elias

+0

@Hahnemann, вы нашли решение? – jagdish

ответ

2

FFMPEG может помочь вам в этом. Chekc вне их статья How To Contatenate media files.

+2

я установил FFMPEG используя Brew и побежал следующую команду: 'FFmpeg -i "CONCAT: first.m4a | second.m4a" -с скопировать out.m4a' Однако' out.m4a' содержит только ' first.m4a'. Звук 'second.m4a' отсутствует. То же самое происходит, когда я делаю это с помощью команды' cat'. – Hahnemann

+1

Другой метод: 'ffmpeg -f concat -i <(для f in ./*. m4a; do echo «file» $ PWD/$ f ';; done) -c copy output.m4a' действительно работал – Rmano

+0

@Rmano это дает мне ошибку, как '[concat @ 0x7ff8ec802600] Небезопасное имя файла' /.../ audio/1.m4a '/ dev/fd/63: операция не разрешена' – Arefly

2

Да, ffmpeg не работает, вопреки тому, что вам скажет интернет-эхо-камера. По крайней мере, не так. Невероятно, сколько из них должно слюни их wisdumb и тратить время каждого.

Здесь. Докажите меня неправильно со ссылкой, но это то, что вы хотите, и это единственное место, где вы это увидите. Трес простой.

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 

Я составил свой собственный FFmpeg для дополнительной LIBS, так что я надеюсь, что это один из них по умолчанию. Если нет, это определенно стоит хлопот. Я не смог проверить это на второй системе, но на моей старой системе Hardy Heron Ubuntu grunt объединенный файл имеет все необходимые метаданные m4a и теги и нет никакого изменения качества звука.

+0

Это работало только для меня, когда я не пропустил никаких шагов;) – jrodatus

+0

Пошаговое и работает; это должен быть принятый ответ. – Quetzalcoatl

0

Вы пытаетесь воспроизвести звук один за другим или одновременно воспроизводить друг друга?

В любом случае FFmpeg может сделать трюк. Как я прочитал ваш вопрос, вы хотите их воспроизведение в то же время ... Если это так, попробуйте:

ffmpeg -i [input1] -i [input2] -filter_complex "[0:a][1:a]amerge=inputs=2[a]" -map [a] -c:a libfdk_aac out.m4a

Примечание: это будет сжимать аудио в AAC. Это один из лучших аудиокодеров, поэтому вы не заметите разницы, но если вам нужно поддерживать качество, вы всегда можете без сжатия с pcm_s16le. Тем не менее, я думаю, вам тогда было бы лучше выйти в WAV-файл.