Документы, связанные с FFmpeg:
Фильтр drawtext — это видеофильтр в FFmpeg, используемый для рисования текста на видеокадрах, то есть для добавления текстовых водяных знаков, а также может использоваться для добавления заголовков, субтитров и других элементов;
drawtext фильтр документ : https://ffmpeg.org/ffmpeg-filters.html#drawtext-1 ,drawtext фильтр существоватьначальствоописыватьдокументиз " 11.78 глава нарисовать текст " глава ;
использовать drawtext фильтр из Предпосылка :
Если вышеуказанная библиотека функций не включена , Это невозможноиспользовать drawtext фильтр ;
FFmpeg хочу в использовать drawtext фильтр Функция , нуждаться Компиляция FFmpeg Добавить когда верно FreeType / FontConfig / iconv из поддержки , специфический Просто даиспользовать libfreetype Библиотека в видео Фоторамкаизтоп рисовать текстовая строка , нуждаться давать возможностьиз Конфигурация компиляции следующая :
--enable-libfreetype
;--enable-libharfbuzz
;--enable-libfontconfig
;--enable-libfribidi
;Приведенная выше конфигурация компиляции , находится в компилировать FFmpeg Перед исходным кодом , вызов ./configure
Заказ , Носите Приведенную на спине. выше конфигурация компиляции ;
специфическийиз Конфигурация Заказнравиться Вниз :
./configure --enable-libfreetype --enable-libharfbuzz --enable-libfontconfig --enable-libfribidi
./configure
Заказ , Конфигурациякомпилировать Параметры ;make install
Заказ ,формальныйкомпилировать FFmpeg Исходный код ;text
параметр используется для настраиватьхотетьдобавить виз текст ,тип параметра — строка;
параметр Параметры : text='Hello World'
;
Полный фильтр Параметры : drawtext=text='Hello World'
, если есть фильмы Параметр , использовать :
отдельный ;
Полный заказ : Воля drawtext фильтрпомещатьсуществоватьдвойные кавычкисередина , как -vf
параметрценитьнастраиватьприезжать ffmpeg Заказсередина ;
ffmpeg -i input.mp4 -vf "drawtext=text='Hello, World!'" output.mp4
если text параметрнастраиватьиз Множество буквальных строк , Можно записать в файл , использовать textfile
параметр Выполните настройки , настраиватьизда строковый файл из пути ;
ссылканастраивать : textfile='/path/to/textfile.txt'
;
ffmpeg -i input.mp4 -vf "textfile='/path/to/textfile.txt" output.mp4
использовать box
параметр , Можно установить текстовый водяной знак из фоновое поле ;
показывать текстовый водяной знак час ,Можеткпоказыватьодинфоновое поле,Эта коробка похожа на CSS серединаиз Коробка,Можно установитьрамка, цвет фона , Границы могут быть установлены индивидуально четыре направления из пограничных свойств , нравиться ширина и цвет ;
box
параметр Можетнастраиватьтриценить :
Пример конфигурации:
ffmpeg -i input.mp4 -vf "drawtext=text='Hello, World!':box=1:boxcolor=black" output.mp4
borderw параметр :
boxborderw=10
настраиватьначальство Внизлевая и правая границы 10 Пиксельширина ;boxborderw=10|20
настраиватьначальствонижняя граница 10 Пиксельширина ,левая и правая границы 20 Пиксельширина;boxborderw=10|20|30
настраиватьначальстворамка 10 Пиксельширина ,левая и правая границы 20 Пиксельширина,нижняя граница 30 Пиксельширина;boxborderw=10|20|30|40
настраиватьначальстворамка 10 Пиксельширина ,правая граница 20 Пиксельширина,нижняя граница 30 Пиксельширина,левая граница 40 Пиксельширина ;Пример конфигурации:
ffmpeg -i input.mp4 -vf "drawtext=text='Hello, World!':borderw=2" output.mp4
использовать boxcolor
параметр , Можно установить бордюр изцвет , значение цвета Можно установить RGB значение цвета / Английское имя / шестнадцатеричныйзначение цвета ;
boxcolor=black
boxcolor=0xFF0000
boxcolor=#FF0000
Пример конфигурации:
ffmpeg -i input.mp4 -vf "drawtext=text='Hello, World!':boxcolor=red:borderw=2" output.mp4
значение цветанастраивать : существовать FFmpeg серединаизфильтрсередина ,Можетиспользоватьнравиться Следующий способнастраиватьзначение цвета :
существоватьначальствоописыватьиспользовать boxcolor
параметр Может руководитьнравиться Внизнастраивать :
boxcolor=black
boxcolor=0xFF0000
boxcolor=#FF0000
font
параметр настраивать шрифтискусствокускииз пути или Название шрифта ;
font=Arial
;font=/path/to/font.ttf
;Пример кода:
ffmpeg -i input.mp4 -vf "drawtext=text='Hello, World!':font=/path/to/font.ttf" output.mp4
fontcolor
параметр Можетиспользуется длянастраивать текстводяной знак изшрифтцвет , значение цвета Можно установить RGB значение цвета / Английское имя / шестнадцатеричныйзначение цвета ;
fontsize
параметр используется длянастраивать текстводяной знак из размер шрифта , Единица измерения — пиксели , нравиться : fontsize=24
выражатьразмер шрифта есть 24 Пиксель ;
Пример кода:
ffmpeg -i input.mp4 -vf "drawtext=text='Hello, World!':x=100:y=100:font=/path/to/font.ttf:fontsize=24:fontcolor=white" output.mp4
существовать Windows середина Можетксуществовать " персонализация / шрифт " середина Проверятьуже Установитьизшрифт ;’
Mac и Linux Существуют различные способы запроса системы. ;
drawtext фильтр середина использовать x параметр и y параметр настраиватьтекстводяной знакиз Расположение ;
Пример строки заказа:
ffmpeg -i input.mp4 -vf "drawtext=text='Hello, World!':x=100:y=100:fontsize=24:fontcolor=white" output.mp4
alpha
параметр Можетиспользуется для настраивать текстводяной знак изпрозрачность , значение прозрачности Диапазон 0 приезжать 1 между числами с плавающей запятой ,
Пример строки заказа: Ниже из Заказсерединана благоустройства 0.5 прозрачность ;
ffmpeg -i input.mp4 -vf "drawtext=text='Hello, World!':x=100:y=100:fontsize=24:fontcolor=white:alpha=0.5" output.mp4
осуществлять
ffmpeg -i input.mp4 -vf "drawtext=text='Hello, World!':x=100:y=100:fontsize=24:fontcolor=white" output.mp4
Заказ ,Волясуществовать Введите видео из 100x100 расположение, рисовать 24 Пиксельразмериз Белый текстводяной знак , Содержимое водяного знака “Hello, World!” нить ;
осуществлять
ffmpeg -i input.mp4 -vf "drawtext=text='Hello, World!':x=100:y=100:fontsize=24:box=1:fontcolor=green" output.mp4
Заказ ,существовать Переднийиз Базаначальствонастраиватьтекстфон коробки, По умолчанию да Белыйиз , Здесь рифтнуждаться в благоустройстве становится Зеленый из ;
осуществлятьрезультатнравиться Вниз :
осуществлять
ffmpeg -re -i input.mp4 -vf "drawtext=text='Hello, World! %{localtime\:%Y\-%m\-%d %H-%M-%S}':x=100:y=100:fontsize=24:box=1:fontcolor=green" output.mp4
Заказ , существуют добавленные на базе фронта извремяпоказывать , времяпоказывать текст Можетнастройкидля %{localtime\:%Y\-%m\-%d %H-%M-%S}
Формат ,Можетк Сращиваниеприезжатьнитьсередина ;
Уведомление , существовать Заказсерединануждатьсядобавить в -re параметр , В противном случае «Может» не будет обновляться так быстро, как час. , Прыгает только каждые несколько секунд ;
осуществлятьрезультатнравиться Вниз :
осуществлять
ffmpeg -re -i input.mp4 -vf "drawtext=text='Hello, World! %{localtime\:%Y\-%m\-%d %H-%M-%S}':x=100:y=100:fontsize=24:box=1:fontcolor=green:enable=lt(
mod(t\,3)\,1)" output.mp4
Заказ , существуют добавленные на базе фронта из enable
параметриспользуется для указывает, где применить эффект фильтра ;
enable=lt(mod(t\,3)\,1)
это выражение , используется дляControl Filterиздавать возможностьчасмашина ;
t
выражатьвремя , Единица да Второй ;mod(t\,3)
выражать верно время руководить форма 3 Операция , Прямо сейчас Второйвремя разделить на 3 из остатка ;lt(mod(t\,3),1)
выражать Воля mod(t\,3)
из результатов расчета и 1 руководить Сравнивать ,если Взаимнождатьвозвращаться 1,если Нетждать возвращаться 0 ;enable=lt(mod(t\,3),1)
из общий эффект да : Каждый 3 Второйизциклсерединаиз Первый Второйчасдавать Возможность эффекта фильтра ,существовать Следовать заиз 2 Отключите эффекты фильтра за считанные секунды, Осуществленный Периодически давать Возможность отключить эффекты фильтра ;
Больше из выражение содержание ссылка https://ffmpeg.org//ffmpeg-utils.html#Expression-Evaluation документ из
осуществлять Эффект :
осуществлять
ffmpeg -re -i input.mp4 -vf "drawtext=text='Hello, World! %{localtime\:%Y\-%m\-%d %H-%M-%S}':x=mod(100*t\,w):y=abs(sin(t))*h*0.7:fontsize=24:box=1:fontcolor=green" output.mp4
Заказ , Достичь эффекта выделения , Основные текущие изменения x и y из координат ;
осуществлять Эффект :