водяной знак ffmpeg первые 30 секунд - PullRequest
8 голосов
/ 06 февраля 2012
ffmpeg -i v.3gp -acodec copy -vf "movie=w.png [logo]; [in][logo] overlay=10:main_h-overlay_h-10 [out]" nv.3gp

Работает нормально, но я хочу водяной знак только первые 30 секунд.Есть идеи?

Ответы [ 4 ]

8 голосов
/ 08 февраля 2012

Вы можете преобразовать логотип в 30-секундное видео с помощью кодека PNG и альфа-канала и применить видео в качестве наложения.

Продолжительность логотипа видео должна быть указана через количество кадров с частотой кадров основного видео (в вашем случае v.3pg). Например, для основного видео 30 кадров в секунду:

ffmpeg.exe -loop 1 -i w.png -vframes 901 -vf "fade=out:899:1:alpha=1" 
    -vcodec png -pix_fmt rgba w.mov

Логотип должен быть исчез; иначе оно не исчезнет. Затем используйте логотип видео в качестве наложения на другое видео:

ffmpeg -i v.3gp -acodec copy -vf "movie=w.mov [logo]; [in][logo]
    overlay=10:main_h-overlay_h-10 [out]" nv.3gp

В качестве альтернативы, вместо того, чтобы резко заканчиваться, логотип может постепенно исчезать, например, в пределах 30 кадров, используя -vf "fade=out:870:30:alpha=1".

6 голосов
/ 04 мая 2013

overlay фильтр поддерживает редактирование временной шкалы; Вы можете просто прочитать из файла PNG, а затем overlay=enable='lte(t,30)':...

5 голосов
/ 04 июня 2014

Понимаю, что уже поздно, но, глядя на похожую проблему, мне удалось ее решить. Оно затухает через 0,5 с после запуска, затем затухает через 30 с

ffmpeg \
-i v.3gp \
-loop 1 -i w.png \
-acodec copy \
-filter_complex \
"[1:v] fade=in:st=0:d=0.5,fade=out:st=30:d=0.5 [logo]; [0:v][logo] overlay=10:main_h-overlay_h-10" \
nv.3gp
0 голосов
/ 06 февраля 2012

Вы можете сократить первые 30 секунд, нанести на него водяной знак, а затем соединить его с оставшейся частью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...