2013-09-10 4 views
4

У меня есть массив аудио и видеороликов, где каждый аудиоклип имеет соотношение 1: 1 с его видеоклипом. Кодировка каждого видео и каждого аудиоклипа одинакова. Как я могу конкатрировать все аудиоклипы и все видеоклипы, а затем объединить их вместе для вывода видео. В настоящее время я только понял, как объединить 1 аудио клип с 1 видеоклипом:Конкат нескольких видео и аудиофайлов с ffmpeg

$ ffmpeg -i video_1.webm -i audio_1.wav -acodec copy -vcodec copy output.mkv 

Update Я просто наткнулся mkvmerge бы это, возможно, будет лучшим вариантом?

ответ

3

Вы можете найти ответ на свой вопрос здесь, в этом старом вопросе:

Concatenate two mp4 files using ffmpeg

Этот ответ не ограничивается MP4. Но это будет зависеть от формата файла, который вы хотите объединить!

После того, как у Вас есть свой новый видео файл и аудио файлов, чтобы объединить их вместе:

FFmpeg -i AUDIO -i ВИДЕО -acodec копировать -vcodec копировать ВЫВОД

+0

Пойдем, чтобы перейти к видеофайлам, но потом как я могу взять конкатенированные видеофайлы и объединить/добавить их в конкатенированные аудиофайлы? –

+0

Я обновил ответ ;-) –

+0

Отлично, отлично работает! Последний вопрос: сжаты ли аудио и видео файлы дважды, один раз во время concat, один раз во время слияния? Или, ffmpeg просто объединяет файлы без сжатия? –

7

Если все файлы закодированы с теми же кодеками, тогда это легко сделать. Сначала объедините аудио- и видеофайлы, как вы уже сделали, каждая пара файлов содержится в одном mkv. Затем вы можете объединить их с Concat демультиплексора, как это:

ffmpeg -f concat -i <(printf "file '%s'\n" ./file1.mkv ./file2.mkv ./file3.mkv) -c copy merged.mkv 

или:

ffmpeg -f concat -i <(printf "file '%s'\n" ./*.mkv) -c copy merged.mkv 

Вы также можете записать один файл на строку в текстовом файле под названием mergelist.txt (или что вы хотите это называют), то есть:

file './file1.mkv' 
file './file2.mkv' 
file './file3.mkv' 

Затем используйте, что в качестве входных данных, а-ля:

ffmpeg -f concat -i mergelist.txt -c copy merged.mkv 

Это, безусловно, самый простой и быстрый способ сделать то, что вы хотите, поскольку он не будет перекодировать файлы, просто выстраивайте их один за другим.

Смежные вопросы