Nunca antes trabajé con ffmpeg y me pregunto qué optimización puedo tomar para mi situación.
En un bucle, tengo varios archivos input.mp4 que primero convierto uno por uno para tener una escala y una velocidad de audio comunes con este comando:
ffmpeg -i input_01.mp4 -vf 'scale=1280:720,setdar=16/9' -ar 44100 -ac 1 input_01_tmp.mp4
Más tarde agrego imágenes a cada archivo input.mp4 nuevamente uno por uno:
ffmpeg -i input_01_tmp.mp4 -i input_01_logo.png -filter_complex "[0:v][1:v]overlay=10:10:enable='between(t,2,11)',fade=t=in:start_time=1.5:d=0.5:alpha=1,fade=t=out:start_time=10.5:d=0.5:alpha=1[fg];[0][fg]overlay=format=auto,format=yuv420p" -c:a copy input_01_unified.mp4
Finalmente, después del ciclo, los combino con mkvmerge:
mkvmerge -o output.mkv \+ input_01_unified.mp4 +\ input_02_unified.mp4 ...
Estoy seguro de que esta no es la solución óptima y me pregunto cómo debería cambiarla.
¿Es posible hacer todo esto en un solo comando? Ya sea para cada archivo o para todo el proceso.
El comando único será largo, pero aquí hay un ejemplo para 3 entradas.
ffmpeg -i input_01.mp4 -loop 1 -t 11 -i input_01_logo.png
-i input_02.mp4 -loop 1 -t 11 -i input_02_logo.png
-i input_03.mp4 -loop 1 -t 11 -i input_03_logo.png
-filter_complex
"[0]scale=1280:720,setsar=1[0v];
[1]fade=t=in:st=1.5:d=0.5:alpha=1,fade=t=out:st=10.5:d=0.5:alpha=1[0l];
[2]scale=1280:720,setsar=1[1v];
[3]fade=t=in:st=1.5:d=0.5:alpha=1,fade=t=out:st=10.5:d=0.5:alpha=1[1l];
[4]scale=1280:720,setsar=1[2v];
[5]fade=t=in:st=1.5:d=0.5:alpha=1,fade=t=out:st=10.5:d=0.5:alpha=1[2l];
[0v][0l]overlay=10:10:format=auto:enable='between(t,2,11)'[0vl];
[1v][1l]overlay=10:10:format=auto:enable='between(t,2,11)'[1vl];
[2v][2l]overlay=10:10:format=auto:enable='between(t,2,11)'[2vl];
[0]pan=1c,aresample=r=44100[0a];
[2]pan=1c,aresample=r=44100[1a];
[4]pan=1c,aresample=r=44100[2a];
[0vl][0a][1vl][1a][2vl][2a]concat=n=2:v=1:a=1[v][a]"
-map "[v]" -map "[a]" -pix_fmt yuv420p output.mkv
Es posible que necesite comillas simples en map
función de su shell.
Use una versión reciente de ffmpeg, al menos 4.0
gian
cquests