ffmpeg несколько элементов текста / логотипа - PullRequest
0 голосов
/ 17 сентября 2018

Я пытаюсь добавить несколько элементов в команду ffmpeg и застреваю.

Пока в команде я автоматически обновляю одно изображение, которое я использую в качестве видео, я также хочу добавить логотип и две строки текста.

Я был успешным до последнего элемента, который является наложением логотипа.

Это соответствующая часть кода:

ffmpeg \
    -f image2 -loop 1 \
    -y \
    -i "/var/www/html/image_rotate.png" \
    -re \
    -i audio.mp3 \
    -vf "movie=/var/www/html/overlay_logo.png [watermark]; [in][watermark] overlay=0:0 [out], drawtext=fontsize=10:fontfile=/var/www/html/OpenSans-Regular.ttf:textfile=/var/www/html/text1.txt:box=1:boxcolor=#000000:fontcolor=#FFFFFF:x=0:y=(h-text_h-20):reload=1, drawtext=fontsize=10:fontfile=/var/www/html/OpenSans-Regular.ttf:textfile=/var/www/htmltext2.txt:box=1:boxcolor=#000000:fontcolor=#FFFFFF:x=0:y=(h-text_h-30)" \

Это дает мне следующую ошибку:

Simple filtergraph ... was expected to have exactly 1 input and 1 output. However, it had >1 input(s) and >1 output(s). Please adjust, or use a complex filtergraph (-filter_complex) instead.

Если я удалю последнюю добавленную мной часть (накладной логотип), я не получу сообщение об ошибке. Если я добавляю несколько -vf, он обрабатывает только один (текст ИЛИ логотип).

Я не уверен, как этого добиться.

1 Ответ

0 голосов
/ 17 сентября 2018

Когда вам нужно работать с несколькими потоками во время фильтрации, рекомендуется использовать filter_complex.

ffmpeg \
    -loop 1 \
    -i "/var/www/html/image_rotate.png" \
    -i "/var/www/html/overlay_logo.png" \
    -i audio.mp3 \
    -filter_complex "[0][1]overlay=0:0,drawtext=fontsize=10:fontfile=/var/www/html/OpenSans-Regular.ttf:textfile=/var/www/html/text1.txt:box=1:boxcolor=#000000:fontcolor=#FFFFFF:x=0:y=(h-text_h-20):reload=1, drawtext=fontsize=10:fontfile=/var/www/html/OpenSans-Regular.ttf:textfile=/var/www/htmltext2.txt:box=1:boxcolor=#000000:fontcolor=#FFFFFF:x=0:y=(h-text_h-30)" \
    -y \
    -shortest \

Логотип теперь подается как обычный ввод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...