
Tengo los siguientes dos comandos que ejecuto secuencialmente para crear un video a partir de una imagen y luego dibujar texto en él desde un archivo de texto. Para crear un video a partir de una sola imagen, uso:
ffmpeg -framerate 30 -loop 1 -t 5 -i 1.jpg -i 3D_Transition_02.mp4 -filter_complex "[0]format=rgba,scale=1280:720,split[img][a]; [1]format=rgb24,negate,scale=1280:720[tr];[a][tr]overlay=format=gbrp[al];[img][al]alphamerge,setsar=1,format=yuva444p" -an -c:v libvpx -crf 10 -b:v 0 -quality realtime -auto-alt-ref 0 a1vp8.mkv
Para crear el texto en el video estoy usando el siguiente comando:
ffmpeg -i a1vp8.mkv -vf "drawtext=enable='gte(t,.5)':box=1:[email protected]:boxborderw=10:fontfile=Roboto-Black.ttf:fontcolor=white:fontsize=56:shadowcolor=Black:shadowx=1:shadowy=1:textfile=text.txt:y=h/2:x=10" aiwithText5.mkv
¿Hay alguna forma de crear el video a partir de la imagen (esto también tiene un complejo de filtro para crear la transición alfa) y una vez que se ha creado el video, dibujar texto en él con un solo comando combinando los dos comandos?
Respuesta1
Simplemente agregue el texto del dibujo al final del filtrado.
ffmpeg -framerate 30 -loop 1 -t 5 -i 1.jpg -i 3D_Transition_02.mp4 -filter_complex "[0]format=rgba,scale=1280:720,split[img][a]; [1]format=rgb24,negate,scale=1280:720[tr];[a][tr]overlay=format=gbrp[al];[img][al]alphamerge,setsar=1,format=yuva444p,drawtext=enable='gte(t,.5)':box=1:[email protected]:boxborderw=10:fontfile=Roboto-Black.ttf:fontcolor=white:fontsize=56:shadowcolor=Black:shadowx=1:shadowy=1:textfile=text.txt:y=h/2:x=10" -an -c:v libvpx -crf 10 -b:v 0 -quality realtime -auto-alt-ref 0 a1vp8.mkv