- Si la duración del video es menor que la duración del audio,
-shortest
es lo que desea.
- Si la duración del video es más larga que la duración del audio, ninguna marca será lo que desee.
No hay bandera para automatizar esta decisión.
EDITAR
Inspirado por la respuesta de @ deadcode, necesito aclarar que "ninguna bandera para automatizar", por supuesto, no es cierto, si está dispuesto a volver a codificar : en este caso, siga las apad
sugerencias de @deadcode.
Sin embargo, si desea evitar volver a codificar (es decir -c:v copy
), la respuesta se mantiene.
Hay una solución alternativa para usar el ffconcat
demuxer, pero necesita un poco de trabajo:
- cree un archivo que contenga silencio exactamente en el mismo formato que su archivo de audio ("silence.wav")
- cree un archivo concat "audio.ffconcat" (con tantas líneas de silencio como necesite para asegurarse de que su audio sea lo suficientemente largo):
.
file 'audiofile.wav'
file 'silence.wav'
file 'silence.wav'
...
file 'silence.wav'
- correr
ffmpeg -i videofile.mp4 -f concat -i audio.ffconcat -c:v copy output.mp4
Esto sintetizará el apad
filtro sin un gráfico de filtro, permitiendo así un mux sin volver a codificar.