无法在 Windows 上的 UDP 端口上打开 ffmpeg mpegts 流

无法在 Windows 上的 UDP 端口上打开 ffmpeg mpegts 流

我正在尝试在视频播放器中显示来自 ffmpeg 的流。

最初是摄像头输入,但视频文件和屏幕截图的问题是一样的。我使用的代码是ffmpeg -i INPUT -f mpegts udp://host:port

就这个问题而言,假设我将这样做:

ffmpeg -f dshow -i video="CAMERA-NAME" -preset ultrafast -vcodec libx264 -tune zerolatency -b 900k -f mpegts udp://10.1.0.102:1234

在 macOS 和 Ubuntu 中,我可以在 mplayer 或 VLC 中运行ffplay udp://10.1.0.102:1234或打开。udp://10.1.0.102:1234

在 Windows 中,我从 ffplay 获取nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0。端口已打开,防火墙已关闭,Wireshark 中可见数据包流量。

您知道可能是什么问题吗?

[更新]

我有一个愚蠢的想法,想尝试一下,localhost:1234结果成功了。但问题仍然存在:为什么其他 IP 似乎不起作用?

答案1

有时您需要指示使用哪个接口,如下例所示:-

ffmpeg -f dshow -i video="CAMERA-NAME" -preset ultrafast -c:v libx264 -tune zerolatency \
-b 900k -f mpegts "udp://239.0.0.2:1234?pkt_size=1316&localaddr=192.168.1.109"

相关内容