为 Windows 10 上的 RTP 流设置 VLC 服务器的 UDP 端口

Set UDP port of VLC server for RTP streaming on Windows 10

我 运行 在 Windows 10 中使用带有 VLC 的 RTP 流式传输视频时遇到问题。

我有 2 台笔记本电脑,一台用于通过 UDP 使用 RTP 流式传输短视频,另一台用于接收和显示视频流。 我担心的是我可以流式传输到给定的目标地址和端口,例如10.0.0.140:5006 但我无法从给定地址的同一端口流式传输,例如10.0.0.130:5006。服务器端口(第一台笔记本电脑)必须与客户端端口相同。

我按照教程使用 RTP / MPEG T运行sport Stream 流式传输视频,并检查了 Wireshark,但我始终没有将流媒体源端口设置为我想要的 5006(相反,它打开运行dom 服务器端口)。

我在网上查了这个问题的答案,但没有找到对我的问题有帮助的东西。我还检查了 VLC 首选项我将 RTP 端口设置为 5006 但仍然是相同的行为...

有谁知道如何将 VLC 的 udp 服务器端口更改为仅从端口 5006 流式传输?

谢谢!

我终于自己找到了解决办法

我没有设置静态 UDP 服务器端口,但我在虚拟机上使用 Ubuntu post 路由重定向数据包。

为了post-重定向数据包,我打开了一个终端,并按照以下两个步骤进行操作:

  1. 在iptables

    中声明想要的UDP端口号
    iptables -A OUTPUT -p udp --sport 5006 --dport 5006  -j ACCEPT
    
  2. 将nat的table中的输出数据重定向到之前声明的UDP端口号

    iptables -t nat -A POSTROUTING -o eth0 -p udp -j SNAT --to :5006
    

此方法允许将任何 UDP 数据包输出重定向到源端口 5006,然后再将它们发送到网络上。