我正在尝试构建一项服务,将您的屏幕从浏览器流式传输到客户端(例如 twitch)。
我所完成的是我用 rtmp 构建了一个工作的 nginx 服务器,我使用 OBS 对其进行了测试。效果非常好。
我的问题是如何使用 WebRTC 将屏幕从浏览器(不是来自 OBS 或其他广播公司)流式传输到使用 RTMP 的 nginx 服务器?
最佳答案
对于 RTSP<->WebRTC/RTMP<->WebRTC 转换, 您需要运行某种 WebRTC 网关/媒体服务器软件,该软件适用于所有这些格式/协议(protocol),并且可以在所有这些格式/协议(protocol)之间进行传输复用。 尝试 Wowza/Unreal Media Server/Flashphoner。 https://en.wikipedia.org/wiki/Comparison_of_streaming_media_systems
因此,在您的情况下,您希望通过 WebRTC 将屏幕从浏览器发布到媒体服务器(H264 编解码器是必须的),然后使用 nginx-rtmp 模块将 RTMP 流从媒体服务器拉到 nginx 服务器。
请注意,相反的情况也是可能的:您可以通过 RTMP 将流推送到媒体服务器(例如 OBS 屏幕捕获),然后通过 WebRTC 将此流从媒体服务器发送到 Web 浏览器。
这些转换中的主要问题是编解码器兼容性:视频必须使用 H264,但如果您需要音频,则必须进行 Opus 到 AAC 转码。
关于javascript - 如何使用WebRTC将视频流传输到RTMP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56238148/