Úselo drawboxpara el cuadro y drawtextpara 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
drawtexttiene una boxopción, pero por lo que puedo decir, no puede ser un ancho arbitrario y es relativo al tamaño del texto, por eso drawboxse usa en su lugar.
El formatfiltro 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 formatfiltro 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 ffmpegusuarios tendrán que usar en t=maxlugar de t=fill.
snapchattemporizador. 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