通过局域网使用 ffmpeg 进行流式传输?

Kal*_*pit 1 ffmpeg ubuntu-16.04

我正在尝试使用以下命令通过 LAN 流式传输 mpegts 文件

ffmpeg -re -i in.ts -vcodec copy -acodec copy -f mpegts "udp://localhost:5000/live/stream"
Run Code Online (Sandbox Code Playgroud)

并尝试通过 LAN(在服务器)在

ffmpeg  -i udp://192.168.xx.xx:5000/live/stream -c copy -f segment -segment_time 10 -strftime 1 "in /%Y-%m-%d_%H-%M-%S.mp4"
Run Code Online (Sandbox Code Playgroud)

这不起作用。我在 VLC 中测试了流,没有什么可玩的。

现在,我怀疑这是一个端口问题,因为 FFMPEG 似乎没有通过指定的 5000 端口来写/听。我用netstat检查过,端口上没有包括ffmpeg的PID。然而,命令

ffmpeg  -i udp://127.0.0.1:5000/live/stream -c copy -f segment -segment_time 10 -strftime 1 "in/%Y-%m-%d_%H-%M-%S.mp4"
Run Code Online (Sandbox Code Playgroud)

在我的机器(本地主机)上生成所需的输出,ffplay 也是如此。任何人都可以帮忙吗?

Ksh*_*war 5

使用 UDP 时,您必须指定要流式传输到的服务器的 IP,而不是从中流式传输的服务器的 IP。

串流指令

ffmpeg -re -i in.ts -vcodec copy -acodec copy -f mpegts "udp://192.168.target.IP:5000/live/stream"
Run Code Online (Sandbox Code Playgroud)

捕获命令

ffmpeg  -i udp://192.168.target.IP:5000/live/stream -c copy -f segment -segment_time 10 -strftime 1 "in/%Y-%m-%d_%H-%M-%S.mp4"
Run Code Online (Sandbox Code Playgroud)