FFmpeg - Как масштабировать видео, а затем применить водяной знак?

Я пытаюсь масштабировать видео так, чтобы оно всегда было шириной 512, где высота изменяется пропорционально исходному видео. После масштабирования я хочу применить водяной знак/наложение к видео, поэтому видео будет масштабироваться, а водяной знак — нет.

Я могу достичь каждого из них по отдельности, используя следующие фильтры:

Масштаб

-vf "scale=512:-1"

Водяной знак

-vf "movie=watermark.png [watermark]; [in][watermark] overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2 [out]"

Они успешно работают сами по себе.

Однако при попытке совместить их у меня возникли небольшие проблемы.

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

Я пытался:

-vf "scale=512:-1,movie=watermark.png [watermark]; [in][watermark] overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2 [out]"

я думал, что сначала будет применен масштаб, а затем водяной знак, но все, что я получаю, это ошибка

Слишком много входных данных указано для фильтра "кино".

Ошибка открытия фильтров!

Затем замените , на ; результат:

Simple filtergraph 'scale=512:-1; фильм = водяной знак.png [водяной знак]; [в][водяной знак] overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2 [out]' не имеет ровно один вход и выход.

Ошибка открытия фильтров!

Я предполагаю, что мне нужно сделать что-то еще с цепочками фильтров, но я изо всех сил пытаюсь понять это.

Есть идеи?

Заранее большое спасибо.

10
задан Olibanum 19 June 2013 в 12:36
поделиться