如何使用 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
我正在努力适应 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