Как добавить прозрачный водяной знак в центре видео с помощью 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)

Примеры наложения / водяных знаков на видео:

Centered

enter image description here

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
Top left

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

Этот пример добавляет 5 пикселей отступа, чтобы изображение не касалось краев:

overlay=5:5
Top right

С отступом 5 пикселей:

overlay=main_w-overlay_w-5:5

или с укороченными вариантами:

overlay=W-w-5:5
Bottom right

С отступом 5 пикселей:

overlay=main_w-overlay_w-5:main_h-overlay_h-5

или с укороченными вариантами:

overlay=W-w-5:H-h-5
Bottom left

С отступом 5 пикселей:

overlay=5:main_h-overlay_h

или с укороченными вариантами:

overlay=5:H-h-5
Notes

The audio is simply stream copied (remuxed) in this example with -codec:a copy instead of being re-encoded. You may have to re-encode depending on your output container format.

See the documentation on the overlay video filter for more information and examples.

See the FFmpeg H.264 Video Encoding Guide for more information on getting a good quality output.

If your image being overlaid is RGB colorspace (such as most PNG images) you may see a visual improvement if you add format=rbg to your overlay. Note that if you do this and if you're outputting H.264, then you will have to add format=yuv420p (this is another filer–it is different that the similarly named option in the overlay filter). So it may look like this:

overlay=5:H-h-5:format=rgb,format=yuv420p

ВАШ ОТВЕТ НА ВОПРОС