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

2024-06-18

我需要找出是否有可能以及如何(我不关心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 平台,则需要一个复杂的编译环境。查看 wiki 上的编译 HOWTOhttp://wiki.videolan.org/Compile_VLC/ http://wiki.videolan.org/Compile_VLC/因为这可能是您在进行任何编码之前想要尝试的。

想一想,你也许可以在lua中实现类似功能的扩展,这更容易开发(因为你不需要自己编译VLC,而且它会跨平台)。但打开 UDP 套接字可能会出现问题。 TCP 就可以工作了。此页面可能是一个很好的起点:http://www.coderholic.com/extending-vlc-with-lua/ http://www.coderholic.com/extending-vlc-with-lua/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 寻求有关 cs50“现金”问题集的 C 贪婪算法的帮助[已关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 目标是创建一种算法 该算法接受输入并给出从输入中减去值 25 10 5 1 的次数的输出 代码需要以尽可能贪婪的方式执行此操作 尽可能获取最
  • 具有自动返回类型推导的 Friend 函数模板无法访问私有成员

    抱歉这个问题的标题太复杂了 我试图描述我为这个问题构建的最小 SSCCE 我有以下代码 include
  • 在 C# 中格式化 Resharper 属性的支持字段

    有没有办法控制 Resharper 放置其支持字段的位置 目前 它试图让他们在班级中名列前茅 我希望他们能去到酒店的正上方 还没有
  • 是否有任何替代方法来实现 WebRTC SFU,只有 1 个上传流?

    我有一个服务器 能够将 WebRTC 媒体数据从 A 中继到 B 对于视频会议 如果我们采用 P2P 方法 则会创建一个网状网络 当P2P不起作用的时候 我们就可以拥有这个中继服务器 主要问题是在网状网络中 对于N个参与者来说 上传链路的数
  • 嵌套绑定表达式

    这是一个后续问题我之前的问题 https stackoverflow com questions 2735294 templates function pointers and c0x include
  • 资源文件中的控制字符 C#

    我想添加Left To Right控制字符在resource resx文件输入Visual Studio 我在互联网上搜索并找到了一个名为在 NET 资源文件中转义序列的另一种方法 http www devx com tips Tip 34
  • 如何防止函数中的隐式转换?

    我正在编写一个实用程序类 其中包含 IsEquals 和 IsGreaterThanEquals 等接受 double 类型参数的方法 当我将浮点值发送到方法时 它们会隐式转换为双精度值并进行比较 我不希望这种事发生 当我发送 float
  • 安装/编译 pylzma(lzma python 绑定)

    我已经向作者提出了这个问题website http www joachim bauch de projects pylzma comment page 1 comment 5211 但我想我也可以在这里问 我一直在尝试使用以下设置安装 py
  • 文件已创建但无法写入

    我的计划 检查Settings txt 文件 如果该文件不存在 则创建文本并自动写入其中 如果 Settings txt 文件已存在 请忽略 不要创建或写入现有文件 我的问题 当文件不存在时 Settings txt 文件会创建 但它是空的
  • “双免”是什么意思?

    正如标题所暗示的那样 我是 C 语言的新手 并且很快就会有期中考试 我目前正在修改过去的论文 一个反复出现的主题是双重自由问题 我理解就是调用的过程free 在同一个内存位置两次 但我有几个问题我不能 100 确定如何回答 问题1 C中双重
  • 在 Visual Studio 2017 mac 上安装扩展 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试在 Visual Studio for Mac 上安装 Visual Studio Marketplace 扩展 但是 Vi
  • 在实体框架中不使用 Dispose 或 using()

    我一路上正在编写一个网络应用程序并学习实体框架 如果我做错了什么 我很好奇 我在查询时没有使用过 dispose 或 using 语句 我的存储库示例 public User GetUserById int sessionId var us
  • OpenFileDialog 中的多个文件扩展名

    如何在一组中使用多个文件扩展名OpenFileDialog 我有Filter BMP bmp GIF gif JPG jpg PNG png TIFF tiff 我想创建组 以便 JPG 为 jpg 和 jpeg TIFF 为 tif 和
  • 从高斯分布中采样随机值的最快方法是什么?

    The Box Muller 变换 http en wikipedia org wiki Box E2 80 93Muller transform 是一种从高斯分布中采样随机值的优雅且性能合理的方法 我正在寻找一种用 C 编写 清晰的更快方
  • COM Interop 挂起会冻结整个 COM 系统。如何取消COM调用

    我正在使用通过 COM Interop 包装器公开的第三方 dll 然而 其中一个 COM 调用经常冻结 至少不会返回 为了至少让我的代码更加健壮 我异步包装了调用 getDeviceInfoWaiter is a ManualResetE
  • 作为服务运行时,URLDownloadToFile() 将对象写入缓存中

    我有一个软件 可以将图像下载到工作目录中 然后对其进行处理以创建视频 之后 这些文件将被独立脚本删除 问题是它还将文件写入以下目录 该软件作为系统服务运行 C Windows SysWOW64 config systemprofile Ap
  • 是否可以使用 struct stat 描述符获取和设置文件名?

    是否可以在获取或设置 重命名 文件名时给出文件的绝对路径 并将 struct stat 实例作为 lstat 函数的参数 正如我在文档结构中发现的那样 struct stat dev t st dev ID of device contai
  • 我如何在 WPF 中模仿这种行为?

    我对 WPF 和 C 开发相当陌生 我正在制作这个应用程序 我不知道是否有人熟悉 VOIP App Discord 但他们有一个我非常喜欢的特定行为 并且想尝试使用 WPF 创建类似的风格 当您在 Discord 上添加服务器时 单击一个按
  • TPL架构问题

    我目前正在开展一个项目 我们面临并行处理项目的挑战 到目前为止没什么大不了的 现在来说说问题 我们有一个 ID 列表 我们定期 每 2 秒 为每个 ID 调用一个 StoredProcedure 需要单独检查每个项目的 2 秒 因为它们是在
  • 类型与创建 CLR 存储过程不匹配

    我在程序集中有一个如下所示的方法 namespace MyNameSpace public class MyClass Microsoft SqlServer Server SqlProcedure public static void M

随机推荐

  • 是否可以使用 Javascript 检索文件的最后修改日期?

    我的网页上有一组链接到 PDF 表单和 doc 表单的链接 这些文件不存储在数据库中 只是按原样存储在本地服务器上 是否可以使用 JavaScript 检索 PDF 或 DOC 文件的最后修改日期 我没有任何特定需要使用 Javascrip
  • scala play框架如何对异步控制器进行单元测试

    使用 Scala play 2 5 版并尝试遵循以下文档中的单元测试控制器指南 https www playframework com documentation 2 5 x ScalaTestingWithScalaTest https
  • python 中的不均匀分块

    给定一个块大小列表 如何将可迭代对象划分为可变长度块 我正在努力哄itertools islice还没有成功 for chunk size in chunk list foo iter chunk size 你需要做一个iter你的可迭代对
  • 可以将 boost 累加器用作类成员

    我正在尝试使用升压累加器来计算滚动平均值 当我像这样声明内联变量时 include
  • 在 ArrayAdapter 上使用 ViewBinding

    我正在尝试重构我的应用程序以使用ViewBinding 我已经浏览了所有的片段和活动 然而 我有一个ArrayAdapter我不确定使用视图绑定来防止内存泄漏的正确约定 正确的使用方法是什么viewbinding在 ArrayAdapter
  • Facebook 错误“验证验证码时出错”

    非常奇怪的错误 我用基德http developers facebook com docs authentication http developers facebook com docs authentication 所以我创建了对fb的
  • 如何与字符串进行部分匹配?

    如何输入单词的部分字母来查找该单词 例如 我有一个字符串数组 String s Cartoon Cheese Truck Pizza 如果我输入部分字母 例如 ca Che 或 piz 然后我就可以找到列表中的整个单词 Thanks str
  • tcpdump 是否受 iptables 过滤影响?

    如果我的开发机器有iptables规则到FORWARD一些数据包 这些数据包是否被 tcpdump 捕获 我有这个问题 因为我知道存在其他链称为INPUT如果数据包路由到 它会过滤发往应用程序的数据包FORWARD链 它会到达吗tcpdum
  • Android 何时使用 ContentResolver applyBatch 或 BulkInsert

    现在 对于我的应用程序 当我想要更改 ContentProvider 的数据时 我只需使用 ContentResolver 的插入 更新和删除方法 但在 Android SDK 中的几个示例项目中 我注意到它们使用了 applyBatch
  • 多实例 COM 对象

    我在 C 中使用 C 编写的 COM 对象 我只是通过 new 创建实例 我需要很多这样的物体 但每个其他 新 不会创建新实例 而仅提供第一个对象的引用 这就是为什么我对数据一团糟 是否可以每次都获取新实例 或者我应该在我的COM中实现IC
  • 向 Serilog 添加自定义属性

    我在应用程序中将 Serilog 与 MS SQL Server 接收器一起使用 假设我已经定义了以下类 public class Person public string FirstName get set public string L
  • CKEditor 禁用自动编辑 HTML 代码

    我需要在我的 CREditor 之一中禁用自动编辑代码 如果我将此代码作为 HTML 放置 div class kontaktJeden div class obr img src images insol png alt div div
  • 优化 SQL Server 上的删除

    Deletesql server 上的有时很慢 我经常需要优化它们以减少所需的时间 我一直在谷歌上搜索一些关于如何做到这一点的提示 并且我发现了各种各样的建议 我想知道你最喜欢和最有效的驯服删除野兽的技术 以及它们如何以及为什么起作用 到目
  • 学说 dbal querybuilder 作为准备好的语句

    我正在尝试创建一个 Doctrine DBAL 查询生成器对象并在其中设置一个参数 使用 postgres db dbal 2 3 4 原则 connection this gt em gt getConnection qb connect
  • 注入的 HttpContext 始终为 null

    老实说 这太令人兴奋了 我无法让它发挥作用 无论注入到何处 上下文始终为空 我是否必须在 Startup cs 中添加上下文实例 如果是 怎么办 始发呼叫 services AddTransient
  • NGINX 返回 405 不允许使用 POST 方法

    我有这个default conf server listen 443 ssl root etc nginx json server name myserver com ssl certificate etc ssl certs server
  • 如何使用正则表达式将多个
    标签替换为一个
    标签?

    I want br br 变成 br 正则表达式的模式是什么 注 br 标签可以连续出现两次以上 html preg replace br gt s i br html 这将捕获任何组合 br br or br 它们之间有任意数量或类型的空
  • paramiko ssh.connect - 要发送什么参数?

    我真的很新python and ssh 我正在尝试编写一个简单的程序来打开ssh连接使用python 我已经有了paramiko 但我遇到的问题是 使用终端我使用以下命令打开我的ssh ssh username email protecte
  • 存档期间的位码编译永远不会完成

    我正在准备一个通过 Test Flight 进行临时分发的应用程序 我已经 成功 完成了这篇 Ray Wenderlich 文章中的所有准备步骤 https www raywenderlich com 48750 testflight sd
  • 如何编写可以与操作系统交互的VLC插件

    我需要找出是否有可能以及如何 我不关心C C Lua Python 制作一个VLC插件 其目的是由VLC播放器在特定时间调用视频流的将执行一些操作 我需要做的操作是打开 UDP 套接字并发送从当前播放的视频附带的文件中读取的一些数据 我需要