2013-04-09 4 views
5

Я пытаюсь объединить два видео, записанных на iPhone, в один файл с ffmpeg.ffmpeg объединить два файла mov с iPhone

Я пробовал все, что мог найти, и я не могу заставить ничего работать.

Моя текущая строка

ffmpeg -i 'concat:output.mov|capturedvideo.MOV' -vcodec copy -acodec copy output2.mov 

Это в настоящее время не будет работать. Конечный результат должен воспроизводиться на iPhone.

+2

Кстати, superuser.com может стать лучшим форумом для таких вопросов. – Krumelur

ответ

7

Поскольку вы не перекодируете, вы не можете конкатенировать два контейнера mp4, как это. См. this page.

В сущности, вы должны преобразовать файлы (без перекодирования) для транспортных потоков MPEG:

ffmpeg -i input1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate1.ts 
ffmpeg -i input2.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate2.ts 
ffmpeg -i "concat:intermediate1.ts|intermediate2.ts" -c copy -bsf:a aac_adtstoasc output.mp4 

Вам необходима последняя версия ffmpeg. Попробуйте sudo apt-get update; sudo apt-get install ffmpeg (на Ubuntu Linux) или brew update; brew install ffmpeg (на Mac OS X)

+0

Спасибо тонну. Я попробую это через секунду. Имеет ли значение, если они не являются mp4s? –

+1

@JasonStallings Ссылка предполагает повторный муксинг, если вы используете [concat protocol] (http://ffmpeg.org/ffmpeg-protocols.html#concat). В той же ссылке есть пример для [concat demuxer] (http://ffmpeg.org/ffmpeg-formats.html#concat-1), который не потребует дополнительного шага. – LordNeckbeard

+1

я получаю Непризнанный вариант «с» :( Тогда, когда я удалить его я получаю Непризнанный вариант «BSF: v Это плохой знак не так –