如何使用 FFmpeg 直播本地视频

How to live stream a local video using FFmpeg

我正在努力适应 FFmpeg 库,目前,我一直在尝试使用 FFmpeg 在 VLC 上流式传输本地视频。

我一直在使用的命令是:

$ ffmpeg -i sample.mp4 -v 0 -vcodec mpeg4 -f mpegts udp://127.0.0.1:23000

我无法在 VLC 上流式传输文件。

感谢任何帮助。

我的猜测是您正在尝试使用 URL udp://127.0.0.1:23000 在 VLC 中播放,就像在 FFmpeg 命令中一样。 在 VLC 中,请尝试使用 udp://@:23000

在第一个终端:

$ ffmpeg -i sample.mp4 -v 0 -vcodec mpeg4 -f mpegts udp://127.0.0.1:23000

打开第二个终端并使用:

$ ffplay udp://127.0.0.1:23000

它可以工作,但在 VLC 上很难看。

在 MacOS Catalina 上:

ffmpeg -f avfoundation -framerate 30 -i "0" -f mpeg1video -b 200k -r 30 -vf scale=640:360 udp://127.0.0.1:5555

它适用于:

ffplay -fflags nobuffer -flags low_delay -framedrop -strict experimental   udp://127.0.0.1:5555

与@Omy 的回答一起确保在输入前添加 -re 以确保实时(正常)直播而不是一次发送过多的 UDP 有效负载。例如,

ffmpeg -re -i sample.mp4 -v 0 -vcodec mpeg4 -f mpegts udp://127.0.0.1:23000