Как я могу объединить или объединить 2 или более файлов MP4, в итоговый выходной файл MP4 также?
Я пытался в окне DOS использовать команду COPY (я где-то читал), но она не работает должным образом.
Как я могу объединить или объединить 2 или более файлов MP4, в итоговый выходной файл MP4 также?
Я пытался в окне DOS использовать команду COPY (я где-то читал), но она не работает должным образом.
Ответы:
MP4Box может сделать это, хотя вы можете использовать для него графический интерфейс, например YAMB или My MP4Box GUI . (Примечание: это не моя программа, а просто название.) Двоичные файлы MP4Box для Windows доступны на этом сайте .
Пример:
MP4Box -tmp $HOME -add vid.01.m4v \
-cat vid.02.m4v -cat vid.03.m4v vid-out.mp4
Я бы порекомендовал usind ffmpeg , который доступен для Mac OS X, Linux и Windows .
Вот хороший пример того, как объединить два фильма: http://www.ffmpeg.org/faq.html#SEC27
На последнем шаге вам просто нужно убедиться, что вы создали контейнер MP4 для полученного файла.
Вы можете попробовать сделать это с помощью ffmpeg:
mkfifo temp0 temp1
ffmpeg -i input0.mp4 -c copy -bsf h264_mp4toannexb -f mpegts -y temp0 2> /dev/null & \
ffmpeg -i input1.mp4 -c copy -bsf h264_mp4toannexb -f mpegts -y temp1 2> /dev/null & \
ffmpeg -f mpegts -i "concat:temp0|temp1" -c copy -absf aac_adtstoasc output.mp4
Это ничего не перекодирует, оно помещает их в новый контейнер транспортного потока, что упрощает их конкатенацию, а затем объединяет их обратно в MP4. Если output.mp4 уже существует, команда не будет выполнена. В вышеприведенной версии используются именованные каналы, если вы находитесь в системе, которая не поддерживает те, которые вам нужны для использования промежуточных файлов:
ffmpeg -i input0.mp4 -c copy -bsf h264_mp4toannexb temp0.ts
ffmpeg -i input1.mp4 -c copy -bsf h264_mp4toannexb temp1.ts
ffmpeg -i "concat:temp0.ts|temp1.ts" -c copy -absf aac_adtstoasc output.mp4
Обновление: только что проверил avidemux, как я его установил, после прочтения этого другого ответа. Это то, что вы ищете (не думаю, что он может сделать MP4 из-за его имени ...).
Я думаю, что VirtualDubMod поддерживает mp4, хотя я не использовал его, поэтому я точно не знаю.
Вы можете проверить MeGUI . Это довольно сложное и многофункциональное приложение и инструменты.
Инструмент для встраивания в контейнер (mp4 в вашем случае) называется muxer, хотя его, вероятно, нельзя объединить.
Вы можете использовать его в сочетании с VirtualDub. Virtualdub для объединения видеопотоков и мультиплексор для повторного кодирования MP4 (без перекодирования).
Я делаю это с mencoder, после преобразования их в avi с помощью ffmpeg
Вот простой скрипт, при условии, что у вас есть 15 файлов с именем 01.mp4 ... 15.mp4
#!/bin/bash
for j in `seq -w 1 15`;
do
echo converting file $j.avi
ffmpeg -i $j.mp4 $j.avi
echo adding file $j.avi to list
z="$z $j.avi"
done
echo doing append
mencoder -oac copy -ovc copy $z -o all.avi
ура
Вот команда:
ffmpeg -i concat:"video1.ts|video2.ts"