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 函数后将其释放。

4

2 回答 2

3

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

于 2013-07-24T08:45:07.173 回答
0

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

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

我认为您现在应该考虑该功能已损坏,并希望有一天有人会提供补丁。除非你想自己写这个补丁。

编辑:顺便说一句,我检查了从论坛消息日期(2012 年 10 月)到今天的vlc-devel 邮件列表,并没有找到任何关于可能的补丁的信息。关于徽标功能,我发现的唯一一件事是一条消息,指出自 2.0.3 以来其他一些与徽标相关的功能似乎不起作用(这也是我在此消息中共享的论坛帖子中引用的版本)。

于 2013-04-24T12:07:39.783 回答