如何在多个程序中接收相同的udp流?

2024-03-20

我有一个封闭的第三方系统,它发送单播 UDP 流 (MPEG-TS),我想在同一台计算机上的两个不同程序中访问该流。我无法更改源上的任何内容,甚至无法更改 IP 或端口。

除了编写自己的小程序来捕获流然后创建新流并重新发送这两个流之外,还有其他选择吗?

似乎两个目标程序中只有一个处理多播,因此我需要两个单播流。


你应该能够使用socat http://www.dest-unreach.org/socat/将单播 UDP 转发到多播组,或者只是将数据保存到文件中并稍后处理。

Edit 0:

这是一个示例(这是在 Linux 上 - 没有任何 Windows 机器)。监听单播端口4242, 转发到多播224.10.10.10:5252(您可能需要添加ip-multicast-loop如果您在同一台机器上执行所有操作,则可以选择):

~$ socat UDP-LISTEN:4242 UDP-DATAGRAM:224.10.10.10:5252

在多播上接收(需要接口地址或名称),转发到单播192.168.0.1:6666:

~$ socat UDP-RECVFROM:5252,ip-add-membership=224.10.10.10:eth0,reuseaddr,fork \
   UDP-DATAGRAM:192.168.0.1:6666

使用不同的目标地址运行上面的两个(reuseaddr选项允许它们在同一台机器上运行)。

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

如何在多个程序中接收相同的udp流? 的相关文章

随机推荐

  • 悬停时模糊整个背景

    所以我的首页上有一些项目 其中显示了一些动漫 我想做的是 当你将鼠标悬停在第一个节目 Hunter X Hunter 上时 我希望页面上的所有其他内容 不包括悬停的内容 都变得模糊 我环顾四周 看到了一些例子 但我觉得我的情况有点不同 首页
  • PHP REST API 中的选项

    我正在用 PHP 编写 REST API 但找不到任何解释如何使用 OPTIONS 的资源 它似乎是 REST API 的重要组成部分 这就是我发现的内容 谁能解释 OPTIONS 应该包含什么以及它应该如何格式化 提前致谢 HTTP OP
  • 您在哪里进行验证?

    希望您会看到我在下面的场景中描述的问题 如果不清楚 请告诉我 您的应用程序分为三层 前端UI层 可以是asp net webform 或者window 用于编辑Person数据 中间层业务服务层 编译成dll PersonServices
  • 如何在 jenkins 2 管道中使用 FileParameterValue

    如何将当前项目工作区中的文件作为参数传递给另一个项目 例如就像是 build job otherproject parameters class FileParameterValue name output tar gz value wai
  • IntelliJ 中的“重新部署”和“重新启动服务器”有什么区别?

    我使用 IntelliJ 和 Tomcat 6 来运行 Spring Java EE 应用程序 我没有部署已编译的 war 而是选择使用分解的 war 部署 从而使我可以选择热交换一些类和 JSP 然而 除了 更新类 和 更新类和资源 之外
  • 不支持扫描,将 driver.Value 类型 []uint8 存储为类型 *time.Time

    我很难查询用户 其定义为 type User struct ID int db id json id UserName string db username json username Email string db email json
  • 正则表达式匹配字符串,不包含重复字符

    我正在寻找一个简单的正则表达式来匹配没有重复字符的字符串 例子 JHMCU26809C211501 good JHMGD18508S219366 good JHMCU268091111111 坏 12345678901234567 good
  • NULL 与 NOT NULL [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 检测到设备正在关闭?

    在我的 Android 应用程序中 如果设备突然关闭 我需要执行一些操作 有什么方法可以检测设备是否已关闭 广播操作 设备正在关闭 这是广播时 设备正在关闭 完全关闭 而不是睡眠 一次 广播完毕 将进行最后的关闭 所有 未保存的数据丢失 应
  • RecyclerView 的 GridLayoutManager 上的方形布局

    我尝试用方形图像制作网格布局 我认为一定可以操纵GridLayoutManager通过操纵onMeasure做一个 super onMeasure recycler state widthSpec widthSpec 代替 super on
  • 使用 apache2 作为 proxypass 时的 Apache OpenMeetings 4.0.4 CSRF 攻击

    我有 Apache OpenMeetings 4 0 4 女巫 Apache 2 2 22 作为代理 在 OM 的 conf red5 properties 中我有 http port 8080 我想做两件事 重定向 HTTP 80 gt
  • Laravel Jetstream 与 Intertia 不返回用户

    我已经安装了带有 Inertia 的 Jetstream 我注册一个用户 然后尝试登录 控制台给出以下错误 Vue warn Error in render TypeError vm page user is null 当我查看控制器的响应
  • SSRS - 如何使 IIF 语句忽略无效值

    我正在使用 Business Intelligence 2008 在 SSRS 中创建一个表 我有一个日期 作为字符串 作为表中使用的值之一 该值可能有一个表示日期的字符串 也可能为空 如果它有一个值 我希望该值以不同的方式格式化 现在 我
  • Google 自定义搜索 API - 排序/过滤

    无论如何 是否可以通过页面标题标签或某些元标签来过滤结果 我阅读了文档 但一团糟 有人有想法吗 是的 您可以对自定义元标记进行排序和过滤 首先 将要过滤的数据放入元标签 https developers google com custom
  • iOS 4核心横向运动姿态

    我一直在尝试根据从 CMMotionManager 返回的 CMAttitude 旋转视图 特别是俯仰 x 和滚动 y 我用参考态度来设定我的视野 这对于纵向模式非常有效 但是当我尝试在横向视图中执行此操作时 它就出错了 由于手机现在逆时针
  • 隐藏 JSON.stringify() 输出中的某些值

    是否可以排除某些字段不包含在 json 字符串中 这是一些伪代码 var x x 0 y 0 divID xyz privateProperty1 foo privateProperty2 bar 我想排除 privateProperty1
  • 反转字符串,但不反转整数

    面试问题 反转字符串 但仅反转字母字符 整数应保持其原始位置 输入 abc12de 输出 edc12ba 输入 abcde79 输出 edcba79 输入 123ab456 输出 123ba456 下面是我的半工作代码 def revers
  • Razor 视图语法无法识别 HTML 属性中的“@”

    我正在将一个项目从 MVC 2 迁移到 MVC3 和 razor 视图引擎 在 MVC 2 中 我将有以下 html div div 使用剃刀时 我尝试了以下操作 它呈现文字文本 电子邮件受保护 cdn cgi l email protec
  • 如何使用 Coffee-Bytes 代码折叠

    如何使用 Coffee Bytes 代码折叠 http market eclipsesource com yoxos node com cb eclipse folding feature group 我想使用用户定义的区域 但不知道如何使
  • 如何在多个程序中接收相同的udp流?

    我有一个封闭的第三方系统 它发送单播 UDP 流 MPEG TS 我想在同一台计算机上的两个不同程序中访问该流 我无法更改源上的任何内容 甚至无法更改 IP 或端口 除了编写自己的小程序来捕获流然后创建新流并重新发送这两个流之外 还有其他选