Я хотел бы применить наложение PNG (водяной знак) к произвольному видеофайлу с помощью ffmpeg. Мне бы хотелось, чтобы видео оставалось в своем первоначальном размере (о котором я не знаю заранее), а PNG масштабировалось относительно видео.
Например, следующая команда помещает оверлей вверху слева:
ffmpeg.exe -i input.mov -i header.png -filter_complex \
"[0][1] overlay=0:0" output.mkv
И следующая команда масштабирует оверлей относительно себя (1/5 ширины, высоты относительно):
ffmpeg.exe -i input.mov -i header.png -filter_complex \
"[1] scale=iw/5:-1 [scaled]; \
[0][scaled] overlay=0:0" output.mkv
Как сделать оверлей на 1/5 ширины input.mov
? (Например, возможно ли сохранить и / или запросить ширину другого предложения фильтра?)
Самый близкий вопрос, с которым я столкнулся, это наложение водяного знака Scale на размер видео с помощью ffmpeg, но в этом ответе используются внешние команды Linux/Cygwin. Водяной знак FFmpeg также был полезен, пока я выяснял ffmpeg. Тем не менее, я нахожусь в Windows и вызываю ffmpeg через Python, поэтому я хотел бы сделать все это в предложении filter_complex. Если это невозможно, я хотел бы знать наверняка, чтобы я мог перестать пытаться :)