На основе решений из инета, многие из которых устарели и нуждаются в некоторых мелких корректировках.
Входные файлы MOV1.mp4 и MOV2.mp4 имеют полностью одинаковые параметры, в частности AVC(он же H.264)+AAC.
ffmpeg 0.8.5
Конвертим файлы в MPEG-TS (делается довольно быстро):
Теперь собственно склеиваем в файл output.mp4:
Входные файлы MOV1.mp4 и MOV2.mp4 имеют полностью одинаковые параметры, в частности AVC(он же H.264)+AAC.
ffmpeg 0.8.5
Конвертим файлы в MPEG-TS (делается довольно быстро):
ffmpeg -i MOV1.mp4 -acodec copy -vcodec copy -vbsf h264_mp4toannexb -f mpegts mov1.tsВторой файл так же.
Теперь собственно склеиваем в файл output.mp4:
ffmpeg -i "concat:mov1.ts|mov2.ts" -vcodec copy -acodec copy output.mp4Готово.
все работает, спасибо. единственное нельзя указать произвольное расположение исходных файлов (mov1.ts, mov2.ts) в: ffmpeg -i "concat:mov1.ts|mov2.ts" -vcodec copy -acodec copy output.mp4
ОтветитьУдалить(или я просто не знаю как это сделать)
Короче я сделал так:
ffmpeg -f concat -i input.list -y -vcodec copy -acodec copy output.mp4
файл input.list внутри содержит строки:
file 'd:/tempffmpeg/mov1.ts'
file 'd:/tempffmpeg/mov2.ts'
все работает...
ffmpeg -i concat:"part1.mp4|part2.mp4" -c copy part-ok.mp4
ОтветитьУдалитьНе желает объединять, делает part-ok.mp4 = part1.mp4
Это я создаю bat-файл и его запускаю. Если вписываю строчку cat part1.mp4 part2.mp4 | ffmpeg –f mp4 –i - -sameq part-ok.mp4 то система пишет "что такое CAT" если пишу ffmpeg cat part1.mp4 part2...., то отвечает "cat - ошибка"
Все, разобрался! ffmpeg склеивает только .ts и .mpg Для склейки любого видео лучше использовать MKVtoolnix (http://www.bunkus.org/videotools/mkvtoolnix/downloads.html), после чего с помощью ffmpeg кодировать в .mp4 =)
ОтветитьУдалить... а в конце-концов разобрался и написал гуй dfiles точка-ру "/files/nd2mlqvm6" Правда все мешает в кашу, но это уже сам ffmpeg=)))
ОтветитьУдалитьОбновленная версия "files.mail.ru/0C96EC7882BD405FAEDDD5BE9842E64B" пролежит месяц (до 22.06.2013), скачивайте. Строка получается такая: ffmpeg -i concat:"VTS_01_1.VOB|VTS_01_2.VOB|VTS_01_3.VOB" -vcodec h264 -vf yadif=0 -crf 23 -threads 2 -acodec libvo_aacenc -ab 160k -ac 2 -f mp4 -y dvdrip.mp4
ОтветитьУдалитьЯ H264 делал так: http://plutov.by/post/html5_ffmpeg
ОтветитьУдалитьMP4 Joiner-программа бесплатная. Если суммарное ВРЕМЯ конечного файла не совпадёт по продолжительности с кусками-прогоните суммарный файл через Yamb.
ОтветитьУдалитьСпасибо ! Помогло !
ОтветитьУдалитьТю, я думал ffmpeg по ярче будет. В общем-то *.ts очень не плохо и через copy /b 1.ts + 2.ts + ... + n.ts out.ts
ОтветитьУдалитьбезо всяких ffmpeg клеются. Потом уже получившийся ts можно пропустить через ffmpeg
Смотрите мою релизацию https://github.com/bogdik/mp4joiner
ОтветитьУдалить