ffmpeg drawtext filter - создает прозрачный фон с текстом
11
В настоящее время я работаю с drawtextфильтром. До сих пор мне удавалось только с drawtextнастройками опций использовать правильный шрифт и размещать текст по центру. Как я могу drawtextотобразить текст на видео, как показано ниже?
FFmpeg
ffmpeg -i "/media/test/test.mp4" -vf drawtext="fontfile=/usr/share/fonts/truetype/open-sans/OpenSans-Regular.ttf:text='Title of this Video':x=(w-tw)/2:y=(h-th)/2" /media/test_edited.mp4"
drawtextимеет boxопцию, но, насколько я могу судить, она не может быть произвольной ширины и зависит от размера текста, поэтому drawboxвместо этого используется.
formatФильтр используется для улучшения цвета drawboxобласти; в противном случае, в зависимости от ваших форматов ввода и вывода, область может выглядеть ненасыщенной или монохромной. Затем formatфильтр снова используется, чтобы гарантировать, что формат пикселя выходного файла совместим со всеми проигрывателями.
В этом примере аудио копируется в потоковом режиме, потому что вы можете не захотеть перекодировать его без необходимости.
Старые ffmpegпользователи должны будут использовать t=maxвместо t=fill.
Отлично, это выходит за рамки текущего вопроса, и мне может понадобиться создать новый вопрос. Любые предложения о том, как добавить snapchatтаймер. Например, я сделал некоторые испытания и FFmpeg содержит источник видеосигнала testsrc , который содержит таймер: ffplay -f lavfi -i testsrc. Цифра 0 исходного таймера имеет размер 29x52 пикселей, а ее положение в верхнем левом углу составляет 256 пикселей по горизонтали и 94 пикселей по вертикали. Я могу обрезать область одной цифры, как этоffmpeg -f lavfi -i testsrc -vf crop=29:52:256:94 -t 10 timer1.mp4
Code_Ed_Student
Я добавил изображение с таймером к вопросу. Таймер обратного отсчета на основе продолжительности видео.
Code_Ed_Student
Да, я создам новый вопрос для этого. Ты прав. 30. 29, 28...и т. д.
snapchat
таймер. Например, я сделал некоторые испытания и FFmpeg содержит источник видеосигнала testsrc , который содержит таймер:ffplay -f lavfi -i testsrc
. Цифра 0 исходного таймера имеет размер 29x52 пикселей, а ее положение в верхнем левом углу составляет 256 пикселей по горизонтали и 94 пикселей по вертикали. Я могу обрезать область одной цифры, как этоffmpeg -f lavfi -i testsrc -vf crop=29:52:256:94 -t 10 timer1.mp4
30. 29, 28...
и т. д.ffmpeg -i C: \ Users \ Developer_2 \ Videos \ 2.mkv -vf drawtext = "fontfile = C \: / Regular.ttf: text = 'apcis.tmou.org': fontcolor = white: fontsize = 24: box = 1: boxcolor=black@0.4: x = w-tw: y = h-й "C: \ inetpub \ wwwroot \ videos \ 1.mp4
источник