Ответ 1
Примеры для наложения/водяного знака на видео:
центрированный
ffmpeg -i input.mp4 -i logo.png -filter_complex \
"overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2" \
-codec:a copy output.mp4
или с сокращенными опциями наложения:
overlay=(W-w)/2:(H-h)/2
Верхний левый
Это непросто, потому что по умолчанию, если вы не предоставляете никаких опций для наложения, нужно поместить изображение в верхнем левом углу.
В этом примере добавляется 5 пикселей отступов, поэтому изображение не касается краев:
overlay=5:5
В верхнем правом углу
С 5 пикселями заполнения:
overlay=main_w-overlay_w-5:5
или с сокращенными параметрами:
overlay=W-w-5:5
Внизу справа
С 5 пикселями заполнения:
overlay=main_w-overlay_w-5:main_h-overlay_h-5
или с сокращенными параметрами:
overlay=W-w-5:H-h-5
Внизу слева
С 5 пикселями заполнения:
overlay=5:main_h-overlay_h
или с сокращенными параметрами:
overlay=5:H-h-5
Примечания
-
Звук просто stream скопирован (ремуксирован) в этом примере с
-codec:a copy
вместо повторного кодирования. Возможно, вам придется перекодировать в зависимости от формата вашего выходного контейнера. -
Подробнее см. документацию в
overlay
для получения более подробной информации и примеров. -
Подробнее о получении хорошего качества см. в FFmpeg H.264 Video Encoding Guide.
-
Если ваше изображение накладывается, это цветовое пространство RGB (например, большинство изображений PNG), вы можете увидеть визуальное улучшение, добавив
format=rbg
к вашему наложению. Обратите внимание, что если вы делаете это и, если вы выводите H.264, вам нужно будет добавитьformat=yuv420p
(это другой файл-фильтр - другое, что аналогично названный параметр в оверлейном фильтре). Это может выглядеть так:overlay=5:H-h-5:format=rgb,format=yuv420p