5

我想使用OBS通过RTMP流式传输到nginx服务器,然后将RTMP片段本地发送到WebRTC,以便它们可以通过MediaStream传输到客户端。我认为这是可能的,因为它基本上是在这里描述的。我这样做是因为 HLS 的多秒延迟不适合我正在尝试做的事情。

我在从 nginx 中提取 RTMP 片段时遇到问题,我在文档中可以找到的唯一可行的命令是pull rtmp://.... 当我尝试这个时,我没有看到任何文件出现在我的根文件夹中,如果我使用hls on. 有谁知道如何完成我上面想要实现的目标?

谢谢!

4

1 回答 1

7

这很容易实现!您可以基于 Pion 的rtp-to-webrtc示例。这使您可以轻松地将媒体从 ffmpeg 获取到浏览器中。

您运行的 ffmpeg 命令将是这样的ffmpeg -re -i rtmp://localhost:1935/$app/$name -vn -acodec libopus -f rtp rtp://localhost:6000 -vcodec copy -an -f rtp rtp:localhost:5000 -sdp_file video.sdp

我会考虑转码为 VP8,因为并非所有浏览器都支持 H264。

——

如果您想在浏览器中进行亚秒级播放,我会查看Project Lightspeed,它是当今 IMO 的最佳选择。

于 2021-02-14T03:31:00.927 回答