如何编写能够与操作系统交互的VLC插件。

11

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

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

我需要做类似于字幕阅读器的东西,它可以初始化UDP套接字并将读取的数据发送到服务器。

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

总体而言,我的最佳要求是:

  1. 在VLC启动时加载设置文件
  2. 需要在视频流的特定时间由播放器触发
  3. 获取源视频流的文件名
  4. 使用相同名称但不同扩展名的文件(脚本)打开
  5. 打开UDP套接字
  6. 组合消息
  7. 发送消息
  8. 继续循环直到视频流结束

非常感谢任何信息,示例或网站,链接。


你可以先展示一下你尝试过的内容,然后再提出问题。 - andy256
实际上,我不确定从哪里开始。目前我正在收集信息,但似乎没有入门或如何示例。 - Patrik
1
这个有帮助吗?http://wiki.videolan.org/Documentation%3aHacker%27s_Guide/Module_Writers_Guide 和 http://code.google.com/p/vlc-shares/wiki/HowToNewPlugin - lhf
@ Patrik,你最终解决了这个问题吗? - Plakhoy
1个回答

11

看起来您想创建一个控制接口模块。这些模块在VLC上下文中用C/C++编写,需要为每个目标平台(重新)编译。 查看audioscrobbler模块,了解如何与当前输入流交互以及如何检索元数据,例如文件名等。由于这些模块是用C编写的,因此打开套接字并传输数据并不困难。

最大的警告可能是,如果您想针对Windows平台进行开发,则需要一个复杂的编译环境。在继续编码之前,建议参阅wiki上的编译HOWTOs http://wiki.videolan.org/Compile_VLC/

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接