ffmpeg исправляет размер водяного знака или процентное соотношение

#ffmpeg

#linux #Видео #ffmpeg #vlc #обработка видео

Вопрос:

у меня есть несколько видеороликов, и я хочу добавить к ним водяной знак, но проблема в том, что в каждом видео «размер водяного знака» отличается (в некоторых видеороликах водяной знак меньше, а в некоторых больше — я думаю, из-за размера видеовхода, потому что он отличается)

вот моя команда ffmpeg (просто ссылка отличается)

 ffmpeg -i "http://VIDEO-LINK" -i "/var/www/logo/logo.png" -filter_complex 'overlay=17:17' -vcodec h264 -crf 25 -preset veryfast -maxrate 600k -bufsize 600k -aspect '640:360' -s '640:360' -acodec libfdk_aac -hls_time 10 -hls_wrap 10 -start_number 1 -y "1.m3u8"
  

есть ли способ создать какой-либо процентный или фиксированный водяной знак на основе выходных данных размером 640×360

потому что, если входное видео имеет размер 640×360, оно показывает большой водяной знак с помощью этой команды, если входная ссылка равна 1280×720, то водяной знак такой маленький

Ответ №1:

Вы можете использовать фильтр scale2ref.

 -filter_complex "[1][0]scale2ref=iw/8:ih/8[wm][vid];[vid][wm]overlay=17:17[out]"
  

Если соотношение сторон вашего водяного знака не совпадает с соотношением сторон ваших видеовходов, то scale2ref будет искажать ваш логотип. Лучше всего выполнить одноразовую операцию, при которой логотип дополняется, чтобы изображение имело то же соотношение сторон, что и ваши видео.