ffmpeg - sostituisce l'audio nel video


27

Come sostituire l'audio in un file video usando un file audio usando ffmpeg?

Immagino che il comando assomiglia a:

ffmpeg -i v.mp4 -i a.wav -MAGIC video-new.mp4

Questo è molto simile a Come sostituire un flusso audio in un file video con più flussi audio? ma quella domanda gestisce più tracce audio, il che la rende molto complicata, rendendo poco chiaro quale parte della soluzione sia sufficiente per un semplice scambio audio.

Risposte:


41

Dovrai copiare lo stream video senza ricodificarlo per risparmiare un sacco di tempo, ma ricodificare l'audio potrebbe aiutare a prevenire incompatibilità:

ffmpeg -i v.mp4 -i a.wav -c:v copy -map 0:v:0 -map 1:a:0 new.mp4

-map 0:v:0 mappa il primo (indice 0 ) flusso video dall'ingresso al primo (indice 0 ) flusso video nell'output.

-map 1:a:0 mappa il secondo (indice 1 ) flusso audio dall'ingresso al primo (indice 0 ) flusso audio nell'output.

Se l'audio è più lungo del video, dovrai aggiungere -shortest prima del nome del file di output.

Non specificando un codec audio, selezionerà automaticamente uno funzionante. Puoi specificarne uno aggiungendo per esempio -c:a libvorbis dopo -c:v copy.


1
o direttamente -c copy semplicemente re-mux audio e video senza ricodificare nessuno degli stream ^^
Francesco Yoshi Gobbo
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.