如何编写可与操作系统交互的VLC插件

时间:2013-07-31 08:36:55

标签: c++ c plugins lua vlc

我需要找出是否可能以及如何(我不关心语言C / C ++,Lua,Python ......)制作一个VLC插件,目的是由VLC播放器调用在视频流的特定时间将执行某些操作。

我需要做的是打开一个UDP套接字并发送从当前播放的视频附带的文件中读取的一些数据。

我需要制作像字幕阅读器这样的东西,最好能初始化UDP套接字并将读取的数据发送到服务器。

我不确定在Lua中是否可以创建UDP套接字可能更好的选择是二进制C / C ++插件但找不到任何示例。

总的来说,我的要求一般是:

  1. 在VLC启动时加载设置文件
  2. 需要在视频流的特定时间由玩家触发
  3. 获取源视频流的文件名
  4. 打开名称相同但扩展名不同的文件(脚本)
  5. 打开UDP套接字
  6. 撰写邮件
  7. 发送消息
  8. 继续循环,直到视频流结束
  9. 非常感谢任何信息,示例或网站链接。

1 个答案:

答案 0 :(得分:6)

看起来您想要创建一个控制接口模块。这些是在VLC上下文中用C / C ++编写的,并且需要针对您想要定位的每个平台进行(重新)编译。 查看audioscrobbler模块,了解如何与当前输入流进行交互以及如何检索元数据(如文件名等)。由于这些模块位于C中,打开套接字并传输数据并不是什么大问题。

最大的警告可能是,如果您想要定位Windows平台,则需要复杂的编译环境。看一下wiki http://wiki.videolan.org/Compile_VLC/上的HOWTO编译,因为这可能是您在进行任何编码之前想要尝试的。

考虑到这一点,你可以在lua中实现一个类似功能的扩展,这更容易开发(因为你不需要自己编译VLC,它将跨平台)。但是打开UDP套接字可能会有问题。 TCP将正常工作。这个页面可能是个不错的起点:http://www.coderholic.com/extending-vlc-with-lua/