Как сделать водяной знак с прозрачностью в видео

Я пытаюсь сделать водяной знак в видео. В тот момент, когда файл изображения (.png) для водяного знака содержит прозрачность, изображение больше не отображается в видео. Если я конвертирую это изображение в .jpg и обратно в .png, оно работает хорошо. Если я создаю новый png без прозрачности, он тоже работает. Но когда я добавляю, например. непрозрачность слоя для этого изображения, оно больше не отображается.

Я использую avconv 0.8.6-4:0.8.6-0ubuntu0.12.04.1 со следующей командой

avconv -y -i video.mp4 -f 'movie=watermark.png [watermark]; [in][watermark] overlay=10:10 [out]' -c:v libx264 -t 255 -strict experimental out.mp4

Если я использую .gif для водяного знака, я получаю изображение, но все оно непрозрачно.

Любая подсказка?


person PaulS    schedule 01.07.2013    source источник


Ответы (4)


Ответ на мой вопрос прост, хотя мне понадобился день, чтобы его найти.

«Обычный» ffmpeg, поставляемый с репозиторием моего дистрибутива Ubuntu, жаловался на параметр «c: v libx264». avconv знает этот параметр, но глючит; он просто не отображает прозрачные изображения.

Решение было таким же простым, как установка самой последней версии ffmpeg (я выбрал статическую версию). Теперь это работает как шарм. :)

person PaulS    schedule 04.07.2013
comment
Да, ubuntu больше не поставляется с ffmpeg, а с avconv, что не совсем то же самое. - person tomsv; 13.01.2014

Вот как мне удалось добавить водяной знак в файл mp4 (вверху слева) с помощью avconv версии 0.8.6-6:0.8.6-1ubuntu2.

avconv -y -i source.mp4 -vf "movie=watermark.png [watermark]; [in][watermark] overlay=10:10 [out]" -c:v libx264 target.mp4

Надеюсь, это поможет кому-то.

person PJunior    schedule 21.09.2013
comment
Если вы получаете ошибку Неизвестный кодировщик ‘libx264’, вот как ее решить. apt-get установить libavcodec-extra-53 - person PJunior; 22.09.2013

Если вы используете ffmpeg-1.2, а не avconv, то команда довольно проста:

ffmpeg -i source.mp4 -i logo.png -filter_complex 'overlay' -strict -2 outputmovie.mp4

У меня это работало нормально, с прозрачностью, запеченной в файле logo.png. Просто убедитесь, что там есть альфа. Это также предполагает, что файл logo.png имеет тот же размер, что и справочный материал.

person fxsam    schedule 21.02.2014

Я использовал прозрачное изображение png, и это сработало для меня. Теперь я могу видеть сцену за водяным знаком в видео, поскольку изображение водяного знака png прозрачно. Так что просто отредактируйте изображение с помощью фотошопа и добавьте 50% непрозрачности (или любое другое значение, которое вы хотите) на изображении.

person user3361920    schedule 25.06.2015