Ответ 1
Используйте видеоформат drawtext
в файле ffmpeg:
ffmpeg -i input.mp4 -vf drawtext="fontfile=/path/to/font.ttf: \
text='Stack Overflow': fontcolor=white: fontsize=24: box=1: [email protected]: \
boxborderw=5: x=(w-text_w)/2: y=(h-text_h)/2" -codec:a copy output.mp4
-
@0.5
управляет непрозрачностью текстового поля. В этом примере он установлен на 50%. Вы можете удалить@0.5
и прозрачности не будет. -
-codec:a copy
будет копировать поток (повторный мультиплекс) аудио и избежать повторного кодирования. -
Альтернативой фильтру drawtext является использование ASS или SRT субтитров, особенно если вы хотите иметь временный текст или softsubs.
-
Если вы хотите обновить или изменить текст, см. параметры
textfile
иreload
для этого фильтра. -
Этот фильтр требует, чтобы ваш
ffmpeg
был скомпилирован с помощью--enable-libfreetype
. Если вы получаетеNo such filter: 'drawtext'
, то, вероятно, отсутствует--enable-libfreetype
. Большинство поддерживаемых статических построекffmpeg
поддерживают это, поэтому см. Страницу FFmpeg Download для ссылок. -
Подробнее о примерах и примерах см. документацию по фильтрам drawtext.