我正在尝试构建一项服务,将您的屏幕从浏览器流式传输到客户端(例如抽搐)。
我已经完成的工作是,我已经使用rtmp构建了一个正常工作的nginx服务器,并使用OBS对其进行了测试。效果很好。
我的问题是如何使用WebRTC将浏览器(而不是OBS或其他广播公司)的屏幕流传输到具有RTMP的Nginx服务器?
答案 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。