【问题标题】:How to write VLC plugin that can interact with the operating system如何编写可以与操作系统交互的 VLC 插件
【发布时间】:2013-07-31 16:30:23
【问题描述】:

我需要确定是否有可能以及如何(我不关心语言 C/C++、Lua、Python ...)制作一个 VLC 插件,其目的将由 VLC 播放器调用,并且在视频流的特定时间会做一些动作。

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

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

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

总的来说,我的要求是:

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

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

【问题讨论】:

标签: c++ c plugins lua vlc


【解决方案1】:

看起来您想创建一个控制界面模块。这些是在 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/

【讨论】:

    猜你喜欢
    • 2012-09-30
    • 2014-07-09
    • 2014-12-05
    • 1970-01-01
    • 1970-01-01
    • 2013-04-08
    • 1970-01-01
    • 2017-11-02
    • 1970-01-01
    相关资源
    最近更新 更多