如何使用WebRTC将视频流传输到RTMP?

时间:2019-05-21 12:19:28

标签: javascript nginx webrtc rtmp

我正在尝试构建一项服务,将您的屏幕从浏览器流式传输到客户端(例如抽搐)。

我已经完成的工作是,我已经使用rtmp构建了一个正常工作的nginx服务器,并使用OBS对其进行了测试。效果很好。

我的问题是如何使用WebRTC将浏览器(而不是OBS或其他广播公司)的屏幕流传输到具有RTMP的Nginx服务器?

1 个答案:

答案 0 :(得分:3)

对于RTSP <-> WebRTC / RTMP <-> WebRTC转换, 您需要运行某种适用于所有这些格式/协议的WebRTC网关/媒体服务器软件,并且可以在所有这些格式/协议之间进行多路复用。 尝试使用Wowza /虚幻媒体服务器/ Flashphoner。 https://en.wikipedia.org/wiki/Comparison_of_streaming_media_systems

因此,在您的情况下,您想通过WebRTC将浏览器的屏幕发布到媒体服务器(必须使用H264编解码器),然后使用nginx-rtmp模块将RTMP流从媒体服务器拉到nginx服务器。

请注意,相反的情况也是可能的:您可以通过RTMP将流推送到媒体服务器(例如,OBS屏幕捕获),然后通过WebRTC将该流从媒体服务器发送到Web浏览器。

这些转换的主要问题是编解码器兼容性:H264必须用于视频,但是如果需要音频,则必须将Opus转换为AAC。