Наложение watermark на видео с ffmpeg

По работе пришлось разобраться с накладыванием копирайт на видео. Как оказалось все сравнительно просто, но есть нюансы.

Используем библиотеку ffmpeg и плагин vhook. Варианта три:

Первый вариант неудобен тем, что требуется делать картинку в размер видео иначе ffmpeg сам ее растянет. Второй вариант текстовый. Третий вариант самый удобный, картинка позиционируется с отступом от верхнего левого угла.

А где же грабли спросит недоумевающий читатель? А без граблей не обошлось. Обычно  перед выкладыванием на сайте с видео нужно сделать целый ряд операций, сконвертировать в нужный формат, привести к стандартному размеру, уменьшить bitrate у звука, … и т.д. и т.п. Все эти операции включая и накладывание ватермарки разумно воткнуть в одну команду, чтобы сэкономить время. Операции конвертирования видео весьма затратны по времени. Т.е. делаем примерно так

И тут уже проблема. Вначале накладывается watermark, потом идет resize и прочие операции. При этом качество "водяного знака" страдает и от него остается только пятно. Поэтому хотя бы ресайз и конвертирование придется вынести в отдельную команду. Вариант ниже c конвертированием avi в 3gp работает без фокусов.

 

You may also like...