将 nginx rtmp 片段发送到 WebRTC

send nginx rtmp fragments to WebRTC

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

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

谢谢!

这很容易做到!你可以基于 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 这是你今天最好的选择。