Добавяне на динамично позициониран воден знак към видео чрез ffmpeg

Опитвам се да добавя воден знак към видео с помощта на ffmpeg.

Но има едно изискване, което прави това много трудно за мен да разбера как да го направя, търсих в мрежата, разбира се.

И така, имам нужда водният знак да променя позицията си на всеки 20 секунди на случаен принцип с 4 ъгъла.

Идеята ми е да разделя видеото на набор от файлове, да приложа водни знаци произволно към всеки файл и да комбинирам резултата в един изходен файл. Но мисля, че това е лош начин.

Може ли някой да ми помогне, моля?

Благодаря, Сергей


person Lena Borieva    schedule 13.09.2012    source източник
comment
Успяхте ли да намерите решение на този проблем? В момента съм изправен пред абсолютно същия въпрос.   -  person Bruno Siqueira    schedule 17.02.2016


Отговори (1)


Бих създал 1-минутен видеоклип на водния знак, който се завърта, като водният знак се движи на всеки 20 секунди, след което използвам филтъра за наслагване, за да наслагвам това видео, зациклено върху оригиналния видеоклип.

Ето повторение на изображението: http://ffmpeg.org/trac/ffmpeg/wiki/Create%20a%20video%20slideshow%20from%20images

И воден знак: http://www.idude.net/index.php/how-to-watermark-a-video-using-ffmpeg/

Можете дори да повторите процеса за видеоклипа с воден знак, докато стане същата дължина като оригиналния видеоклип. Не съм тествал теорията си, но бихте могли да ни уведомите дали работи.

редактиране, отидох вкъщи и тествах теорията си, ето партиден файл на Windows:

setlocal

rem create blank movie
rem I created 4 transparent PNG the same size as my final movie using FotografixPortable
rem after many failures with MSPaint... I should have known...

rem add water mark to blank movie (bottom right)
ffmpeg -loop 1 -i wm1.png -t 20 -vcodec png -pix_fmt rgba out-wm1.mov

rem add water mark to blank movie (top right)
ffmpeg -loop 1 -i wm2.png -t 20 -vcodec png -pix_fmt rgba out-wm2.mov

rem add water mark to blank movie (bottom left)
ffmpeg -loop 1 -i wm3.png -t 20 -vcodec png -pix_fmt rgba out-wm3.mov

rem add water mark to blank movie (top left)
ffmpeg -loop 1 -i wm4.png -t 20 -vcodec png -pix_fmt rgba out-wm4.mov

rem put (concat) them all together into one video
rem I use filter_complex because we need to maintain the transparency in the video
ffmpeg -i out-wm1.mov -i out-wm2.mov -i out-wm3.mov -i out-wm4.mov -filter_complex "[0:0] [1:0] [2:0] [3:0] concat=n=4:v=1:a=0 [v]" -map "[v]" -y -vcodec png -pix_fmt rgba -q 0 all-wm.mov

rem finally overlay the 1:20 watermark video onto the original movie
ffmpeg -i "Ted (2012) Unrated.mkv" -i all-wm.mov -filter_complex overlay -shortest -y -q 0 ted.avi

Разбира се, това не е „случайно“, но можете да направите своя филм с наслагване с произволна дължина на шаблони и индивидуални времеви печати, за да изглежда произволен в крайния резултат.

person Isaac    schedule 15.01.2013