Медиатека. Еще пара фишек
Ну, допустим, нам нужно не просто перекодировать ролики, но и еще добавлять в них водяные знаки — а то мало ли кто покусится на наш уникальный видео-контент. Делается это очень просто — в командную строку ffmpeg добавляется параметр -vhook ‘/usr/local/lib/vhook/watermark.so -m 1 -t 000000 -f watermark.png’. В данном случае картинка представляет собой логотип, размещенный на черном фоне в правом верхнем углу, причем черный (как указывает параметр -t) будет принят за базовый цвет, который потом будет подменен на данные из кадра. Подробнее об этом можно прочитать в документации по перехватывающим модулям ffmpeg.
Второй нюанс — если браться за перекодирование всего и вся, то мигом столкнемся с тем, что lame не воспринимает WMA-формат, что очень печально. На выручку придет тот же ffmpeg — при помощи него можно перекодировать wma в mp3, например, так — ffmpeg -i ‘in.wma’ -acodec libmp3lame -ab 32k -ac 2 -ar 22050 ‘out.mp3′.
Следующим логичным вопросом будет — а нужен ли нам вообще lame? Наверное, не нужен — ffmpeg все равно его будет использовать по необходимости.


На данный момент документация по vhook не доступна по приведенной ссылке.
У меня вопрос: у вас vhook c watermark.so заработал?
У меня ошибка сегментации и больше ничего вразумительного. imlib2.so не хавает никакую картинку.
Не могли бы вы выложить ваш watermark.png?
Спасибо!
Беда в том, что из последнего релиза vhook убрали совсем, а механизм avfilter, который должен придти на смену тому, еще сыроват (я еще отпишусь на этот счет). Потому, наверное, следует пользоваться более ранними версиями ffmpeg.
Пример водяных знаков — http://relabs.ru/wp-content/uploads/2009/04/watermark.png — вроде работает, FFmpeg version SVN-r15647.