13

Как я могу объединить или объединить 2 или более файлов MP4, в итоговый выходной файл MP4 также?

Я попытался в окне DOS использовать команду COPY (я где-то читал), но она не работает должным образом.

6 ответов6

12

MP4Box может сделать это, хотя вы можете использовать GUI для него, например, YAMB или My MP4Box GUI. (NB: Это не моя программа лично, это просто название.) Двоичные файлы MP4Box для Windows доступны на этом сайте.

Пример:

MP4Box -tmp $HOME -add vid.01.m4v \
    -cat vid.02.m4v -cat vid.03.m4v vid-out.mp4
4

Вы можете попробовать сделать это с помощью 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
4

Я бы порекомендовал usind ffmpeg, который доступен для Mac OS X, Linux и Windows.

Вот хороший пример того, как объединить два фильма:http://www.ffmpeg.org/faq.html#SEC27

На последнем шаге вам просто нужно убедиться, что вы создали контейнер MP4 для полученного файла.

1

Вот команда:

ffmpeg -i concat:"video1.ts|video2.ts"
1

Обновление: только что проверил avidemux, как я его установил, после прочтения этого другого ответа. Это то, что вы ищете (не думаю, что он может сделать MP4 из-за его имени ...).

Я думаю, что VirtualDubMod поддерживает mp4, хотя я не использовал его, поэтому я точно не знаю.

Вы можете проверить MeGUI. Это довольно сложное и многофункциональное приложение и инструменты.

Инструмент для встраивания в контейнер (в вашем случае mp4) называется muxer, но его, вероятно, нельзя объединить.

Вы можете использовать его в сочетании с VirtualDub. Virtualdub для объединения видеопотоков и мультиплексор для повторного кодирования MP4 (без перекодирования).

1

Я делаю это с помощью 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

ура

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .