将 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 这是你今天最好的选择。
我想用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 这是你今天最好的选择。