2013-07-01 1 views
3

Я пытаюсь сделать водяной знак в видео. В тот момент, когда файл изображения (.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 для водяного знака я получаю изображение, но это все непрозрачные ,

Любой ключ?

ответ

1

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

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

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

+0

Да, ubuntu больше не поставляется с ffmpeg, но с avconv, что не совсем то же самое. – tomsv

0

Вот как мне удалось добавить водяной знак в файл 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 

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

+0

Если вы получили ошибку * Unknown encoder 'libx264' *, вот как это решить. apt-get install libavcodec-extra-53 – PJunior

0

Если вам случится использовать FFmpeg-1,2 вместо avconv то команда довольно проста:

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

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

0

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