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

How to write VLC plugin that can interact with the operating system

本文关键字:交互 VLC 插件 操作系统 何编写      更新时间:2023-10-16

我需要弄清楚是否有可能以及如何(我不在乎语言C/C++、Lua、Python…)制作一个VLC插件,目的是由VLC播放器调用,并在视频流的特定时间执行一些操作。

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

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

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

一般来说,在最好的情况下,我的要求是:

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

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

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

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

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