Как добавить прозрачный водяной знак в центре видео с помощью ffmpeg?
В настоящее время я использую эти команды:
Top left corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:10 [out]" outputvideo.flv
Top right corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:10 [out]" outputvideo.flv
Bottom left corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:main_h-overlay_h-10 [out]" outputvideo.flv
Bottom right corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=(main_w-overlay_w-10)/2:(main_h-overlay_h-10)/2 [out]" outputvideo.flv
Как разместить водяной знак в центре видео?
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
Заметки
В этом примере аудио просто копируется потоком (смикшируется) с
-codec:a copy
вместо того, чтобы перекодировать. Возможно, вам придется перекодировать в зависимости от формата выходного контейнера.Смотрите документацию на
overlay
видео фильтр для получения дополнительной информации и примеров.См. Руководство по кодированию видео FFmpeg H.264 для получения дополнительной информации о получении качественного вывода.
Если наложенное изображение имеет цветовое пространство RGB (например, большинство изображений PNG), вы можете увидеть визуальное улучшение, если добавите
format=rbg
к вашему наложению. Обратите внимание, что если вы сделаете это, и если вы выводите H.264, вам придется добавитьformat=yuv420p
(это еще один фильтр - он отличается от параметра с аналогичным именем в оверлейном фильтре). Так что это может выглядеть так:overlay=5:H-h-5:format=rgb,format=yuv420p