Наложение логотипа на видео

Наложение логотипа на видеоСегодня решил написать о том, как добавить свой логотип в видео файл, который кодируется с помощью mencoder. В принципе ничего сложно в этом нет, а иногда уж очень нужно наложить изображение на конвертируемое видео. Мне это нужно было для Видео Хостинга на движке Clipshare, что и было реализовано, способом указанным далее. А затем редактированием файла convert.php (файл движка ClipShare отвечающий за конвертацию видео) — строки 23 и 25, в версии 4.1.5.

Надеюсь моя статья Вам поможет.

Итак, начнём…
Во-первых, убедитесь, что в текущей директории нет файла logo.fifo

Теперь создадим FIFO (именованный канал)

А сейчас создайте файл растровой графики логотипа с альфа-каналом (для прозрачного фона) с помощью любой графической программы, например такой как GIMPG. Сохраните его как logo.png, и преобразуйте в logo.rgba

Теперь выполните команду для нашего FIFO файла, в которой нужно указать, что наш логотип в ширину 200, в высоту 80, и позиция у него будет 0,25. Естественно Вам нужно заменить ширину и высоту на свою.

или, например, если ваш логотип 170х60, с позицией 5,180

Ну а теперь нам остаётся лишь перекодировать видео при помощи Менкодера (mencoder)

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

Комментариев: 6
  1. Stark

    Спасибо немного помогло, но сейчас столкнулся с проблемой наложния нескольких фильтров, а именнно помымо логотипа хочу еще и провести масштабирование
    mencoder video.avi -o vid3.flv -oac mp3lame -ovc lavc -vf scale=360:152,bmovl=0:0:logo.
    тут если я правильно понял, сначала производится масштабирование, а потом наложения логотипа, но проблема в том что логотип «рвет», тоесть он совсем не такой как бы я того хотел. Если налаживать логотип перед масштабированием то он естественно тоже масштабируется, что тоже не есть хорошо. может встречались с подобной проблемой?

  2. logi (автор)

    Ну, как вариант могу Вам предложить сделать это в два шага: сначала масштабирование, а затем наложить логотип…

  3. padhu

    while using this command on php,i am getting nothing.how to execute this command in php.
    (Echo «RGBA32 200 80 0 25 0 1»; cat logo.rgba)> logo.fifo &

    1. logi (автор)

      It’s for linux terminal. Sorry, i did’t know php :(

  4. Сергей

    Это вы все сейчас для кого всё это писали? Себя порадовать. Думаю надо пойти на другой ресурс чтобы узнать что тако logo, fifo да ещё всё прочее что касается этого вопроса.

  5. Vlad

    Блин запарили с перепечатками… не работает это к сожалению… во первых вы перепутали -о тут указывается куда выдавать поток, а не откуда брать как вы подумали…
    И вот ошибка на выход…
    Exiting…
    [1] Broken pipe (echo €RGBA32 200 80 0 25 0 1; cat logo.rgba)

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: