徽标只出现一秒钟然后消失

时间:2013-04-13 21:01:11

标签: c libvlc

我正在尝试在使用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函数后它可以被释放。

2 个答案:

答案 0 :(得分:3)

它没破!它对我有用。您必须将选项--sub-filter=logo添加到传递给libvlc_new()的选项数组中。

答案 1 :(得分:0)

官方VideoLAN论坛似乎提供了您需要的答案:徽标功能可能在VLC 2.0.X(source)中被破坏。

此外,同一论坛上的another thread似乎确认您在等待播放视频以显示徽标时做的正确(至少,您知道它不是来自您)

我认为你现在应该考虑将这个功能打破,并希望有人会在某一天提供补丁。除非你想自己编写这个补丁。

编辑:顺便说一下,我从论坛消息(2012年10月)的日期到今天检查了vlc-devel mailing list,但没有发现任何可能的补丁。我发现有关徽标功能的唯一内容是a message,说明自2.0.3以来其他一些与徽标相关的功能似乎无效(这也是我在此消息中分享的论坛帖子中引用的版本)。