Voglio unire un file audio (formato .wav o .au) con un file video (formato .mp4).
Per favore, suggeriscimi come raggiungere questo obiettivo. Voglio unire questi file nel nuovo file video .mp4. Un comando ffmpeg sarebbe molto gradito.
Voglio unire un file audio (formato .wav o .au) con un file video (formato .mp4).
Per favore, suggeriscimi come raggiungere questo obiettivo. Voglio unire questi file nel nuovo file video .mp4. Un comando ffmpeg sarebbe molto gradito.
Risposte:
Vedi questo esempio, tratto da questo post di blog ma aggiornato per la sintassi più recente. Dovrebbe essere qualcosa per l'effetto di:
ffmpeg -i video.mp4 -i audio.wav \
-c:v copy -c:a aac -strict experimental output.mp4
Qui, supponiamo che il file video non contenga ancora alcun flusso audio e che tu voglia avere lo stesso formato di output (qui, MP4) del formato di input.
Il comando precedente transcodifica l'audio, poiché gli MP4 non possono trasportare flussi audio PCM. Se lo desideri, puoi utilizzare qualsiasi altro codec audio desiderato. Consulta la Guida alla codifica AAC per maggiori informazioni.
Se il tuo flusso audio o video è più lungo, puoi aggiungere l' -shortest
opzione in modo che ffmpeg interromperà la codifica al termine di un file.
Se il tuo contenitore di output è in grado di gestire (quasi) qualsiasi codec, come MKV, puoi semplicemente copiare sia i flussi audio che video:
ffmpeg -i video.mp4 -i audio.wav -c copy output.mkv
Se il video di input contiene già audio e si desidera sostituirlo, è necessario indicare a ffmpeg quale flusso audio prendere:
ffmpeg -i video.mp4 -i audio.wav \
-c:v copy -c:a aac -strict experimental \
-map 0:v:0 -map 1:a:0 output.mp4
L' map
opzione fa in modo che ffmpeg utilizzi solo il primo flusso video dal primo input e il primo flusso audio dal secondo input per il file di output.
ffmpeg -i audio.wav -i video.mp4 -acodec copy -vcodec copy -f mkv output.mkv
Dal momento che non mi è permesso scrivere commenti sulla prima risposta con la mia reputazione, un addendum qui, perché ho avuto questo problema durante la codifica dei web.
Se il tuo flusso audio è ad esempio più lungo del flusso video , devi tagliarlo o altrimenti avrai l'ultimo fotogramma video come fermo immagine e audio in esecuzione.
Per tagliare uno dei due stream, puoi usare -ss [hh: mm: ss] -t [ss] prima di ciascuno dei -i "file.ext".
-ss [...] definirà il punto iniziale da tagliare
-t [...] definirà la lunghezza del segmento in secondi
Esempio:
ffmpeg.exe -ss 00:00:10 -t 5 -i "video.mp4" -ss 0:00:01 -t 5 -i "music.m4a" -map 0:v:0 -map 1:a:0 -y out.mp4
-shortest
per tagliare la fine.
-open comando promt (windows + r -> cmd-> invio)
-quindi vai nella cartella in cui hai i file audio e video
applica questo cmd
ffmpeg -i "videoFile.mp4" -i "audioFile.mp3" -shortest outPutFile.mp4
Inserisci .... otterrai un nuovo file chiamato outPutFime.mp4 (un file unito di audio e video)
-shortest
tag è molto elegante. Molto più semplice rispetto alla risposta di @ user136036.
Questo ha funzionato per me:
ffmpeg.exe -i AudioT.m4a -i VideoT.mp4 -acodec copy -vcodec copy muxed.mp4
Prova a usare mencoder (Sì, è basato su ffmpeg, ma non lo sai mai). Uso l' -audiofile
argomento. In genere uso ffmpeg, quindi segui questo consiglio con un pizzico di sale.
E, se usi Windows, Mediacoder (non più open source purtroppo) funziona ... è fondamentalmente un frontend per molti codificatori gnu e alcuni non liberi.