Úselo drawbox
para el cuadro y drawtext
para el texto.
ffmpeg -i input.mp4 -vf \
"format=yuv444p, \
drawbox=y=ih/PHI:color=black@0.4:width=iw:height=48:t=fill, \
drawtext=fontfile=OpenSans-Regular.ttf:text='Title of this Video':fontcolor=white:fontsize=24:x=(w-tw)/2:y=(h/PHI)+th, \
format=yuv420p" \
-c:v libx264 -c:a copy -movflags +faststart output.mp4
drawtext
tiene una box
opción, pero por lo que puedo decir, no puede ser un ancho arbitrario y es relativo al tamaño del texto, por eso drawbox
se usa en su lugar.
El format
filtro se usa para mejorar el color del drawbox
área; de lo contrario, dependiendo de sus formatos de entrada y salida, el área podría verse desaturada o monocromática. El format
filtro se usa nuevamente para garantizar que el formato de píxeles del archivo de salida sea compatible con todos los reproductores.
El audio se está copiando en este ejemplo porque es posible que no desee volver a codificarlo innecesariamente.
Los viejos ffmpeg
usuarios tendrán que usar en t=max
lugar de t=fill
.
snapchat
temporizador. Por ejemplo, hice algunas pruebas y FFmpeg contiene una fuente de vídeo testsrc que contiene un contador de tiempo:ffplay -f lavfi -i testsrc
. El dígito 0 del temporizador inicial tiene un tamaño de 29x52 píxeles y su posición desde la esquina superior izquierda es de 256 píxeles horizontal y 94 píxeles vertical. Puedo recortar el área de un dígito asíffmpeg -f lavfi -i testsrc -vf crop=29:52:256:94 -t 10 timer1.mp4