Come posso concatenare o unire 2 o più file MP4, anche in un file MP4 di output finale?
Ho provato nella finestra DOS per usare il comando COPY (l'ho letto da qualche parte) ma non funziona bene.
Come posso concatenare o unire 2 o più file MP4, anche in un file MP4 di output finale?
Ho provato nella finestra DOS per usare il comando COPY (l'ho letto da qualche parte) ma non funziona bene.
Risposte:
MP4Box può farlo, anche se potresti voler usare una GUI come YAMB o My MP4Box GUI . (NB: Non è il mio programma personalmente, questo è solo il nome.) I binari MP4Box per Windows sono disponibili da questo sito .
Esempio:
MP4Box -tmp $HOME -add vid.01.m4v \
-cat vid.02.m4v -cat vid.03.m4v vid-out.mp4
Consiglierei usind ffmpeg , che è disponibile per Mac OS X, Linux e Windows .
Ecco un buon esempio su come concatenare due film: http://www.ffmpeg.org/faq.html#SEC27
Nell'ultimo passaggio, devi solo assicurarti di creare un contenitore MP4, per il file risultante.
Puoi provare a farlo con 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
Questo non ricodifica nulla, li inserisce in un nuovo contenitore del flusso di trasporto, il che li rende più facili da concatenare e quindi li ricatena in un MP4. Se output.mp4 esiste già, il comando fallirà. La versione sopra utilizza named pipe, è su un sistema che non supporta quelli che dovresti usare file intermedi:
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
Aggiornamento: Ho appena controllato avidemux come avevo installato, dopo aver letto l'altra risposta. È quello che stai cercando (non pensavo che potesse fare MP4 a causa del suo nome ...).
Penso che VirtualDubMod sia compatibile con mp4, anche se non l'ho usato, quindi non lo so per certo.
Potresti voler dare un'occhiata a MeGUI . È un'app e strumenti piuttosto complessi e ricchi di funzionalità.
Lo strumento per l'incorporamento in un contenitore (mp4 nel tuo caso) si chiama muxer, ma probabilmente non è possibile concatenarli.
Puoi usarlo in combinazione con VirtualDub. Virtualdub per concatenare i flussi video e il muxer per renderlo nuovamente un mp4 (senza dover ricodificare).
Lo sto facendo con mencoder, dopo averli convertiti in avi con ffmpeg
ecco uno script semplice, supponendo che tu abbia 15 file, chiamato 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
Saluti
Ecco il comando:
ffmpeg -i concat:"video1.ts|video2.ts"