2013-04-13 2 views
1

Я пытаюсь отобразить логотип поверх видео, воспроизводимого с помощью libvlc (2.0.2). Я попытался найти документацию, но мне не повезло. Вот лучшая попытка я мог придумать:Логотип появляется только секунду, а затем исчезает

libvlc_video_set_logo_string(m_player->core(), 1, "logo_1365886316.png"); //logo file path (I've also tried logo_1365886316.png,0,5000) 
libvlc_video_set_logo_int(m_player->core(), libvlc_logo_x, 500); //x-coordinate 
libvlc_video_set_logo_int(m_player->core(), libvlc_logo_y, 100); //y-coordinate 
libvlc_video_set_logo_int(m_player->core(), libvlc_logo_opacity, 255); 

// I've tried with the following, but I had no luck. 
//libvlc_video_set_logo_int(m_player->core(), libvlc_logo_repeat, -1); 
//libvlc_video_set_logo_int(m_player->core(), libvlc_logo_delay, 6000); 

libvlc_video_set_logo_int(m_player->core(), libvlc_logo_enable, 1); 

Что происходит, что мой логотип виден за несколько миллисекунд или около того, а затем исчезает. Если я попытаюсь снова инициализировать логотип, ничего не появится. Кроме того, если это важно, я инициализирую логотип после того, как видео было запущено.

Я не знаю, почему это происходит. В соответствии с различными сообщениями на форуме, я делаю все нормально, и я не инициализирую что-либо в стеке, поэтому он может быть освобожден после выхода из функции init.

ответ

0

Официальный форум VideoLAN, похоже, предоставляет необходимый вам ответ: функция логотипа, вероятно, сломана в VLC 2.0.X (source).

Также, another thread на том же форуме, похоже, подтверждает, что вы поступаете правильно, когда вы ждете, пока видео будет воспроизводиться, чтобы отобразить логотип (по крайней мере, вы знаете, что это не от вас).

Я думаю, вы просто должны рассмотреть функцию, сломанную на данный момент, и надеемся, что кто-то предоставит патч когда-нибудь. Если вам не нравится писать этот патч самостоятельно.

EDIT: И, кстати, я проверил vlc-devel mailing list с момента сообщения форума (октябрь 2012) на сегодняшний день, и не нашел ничего о возможном пластыре. Единственное, что я нашел о функциях логотипа, было a message, в котором говорилось, что некоторая другая функция, связанная с логотипом, не работает с 2.0.3 (это также была версия, приведенная в сообщении форума, которое я публиковал в этом сообщении).

3

Это не сломан! Это работает для меня. Вы должны добавить опцию --sub-filter=logo в свой массив параметров, который вы переходите на libvlc_new().

+0

Спасибо! Я сейчас не дома, но я постараюсь на следующей неделе! –

Смежные вопросы