就在今天早上,我想我是在视频论坛上的人们的帮助下弄明白的。我应该提一下,我正在使用 linux 系统,我不知道您使用的是什么操作系统,但我知道存在一些差异。这是我所做的:
首先,我发现首先让选取框在命令行上工作很有用。这是有关该主题的讨论的链接:
http://forum.videolan.org/viewtopic.php?f=13&t=110743
对我有用的命令行选项:
cvlc --extraintf=http:logger --verbose=2 --file-logging --logfile=vlc-log.txt --sub-source="marq{marquee=marquee text here}" test.mpg
我遇到了一个问题,即使使用上述命令,我也无法显示选框。在我的 gentoo 系统上,我需要在启用 fontconfig 和 truetype 的情况下重建 vlc。
现在,随着 cvlc 在视频上显示选框,我又回到了 libvlc。我错过了一些东西,所以我在这里开始了另一个讨论:
http://forum.videolan.org/viewtopic.php?f=32&t=110783
下面提供了 C / libvlc 代码片段,它们最终允许我在没有文件名选框的情况下按需显示选框。
主要:
const char * const vlc_args[] = {
"--extraintf=http:logger",
"--verbose=1",
"--file-logging",
"--logfile=/home/user/data/logs/vlc",
"--no-video-title-show", // <- this option disables the filename marquee
"--sub-filter=marq"}; // <- this option allows the on demand marquee to display properly
vlc_inst = libvlc_new (sizeof(vlc_args) / sizeof(vlc_args[0]), vlc_args);
在按键回调中:
libvlc_video_set_marquee_int(media_player, 0, 1); /* enable marquee */
libvlc_video_set_marquee_int(media_player, 6, 32); /* set marquee font size */
libvlc_video_set_marquee_int(media_player, 7, 2000); /* set marquee timeout (ms) */
libvlc_video_set_marquee_string(media_player, 1, "on demand marquee string here");
希望其中一些可以帮助您获得有效的解决方案。