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

标签 javascript nginx webrtc rtmp

我正在尝试构建一项服务,将您的屏幕从浏览器流式传输到客户端(例如 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/

相关文章:

javascript - HTML jQuery 选择选项值

node.js - 如何配置 WebRTC 以连接到我的 TURN 服务器?

swift - GoogleWebRTC 挂起(卡住)swift native 应用程序(OpenVidu)中的主线程

Javascript 正则表达式 : make different spaces depending on lenght: 1 000, 10 000, 100 000

javascript - 使用 readdirp 过滤读取的文件

nginx - 带有粘性 session 的 docker-compose 规模

redirect - 在代理后面运行非标准端口的 nginx 机器上的 301 重定向

ssl - 我可以在与非 SSL/TLS 网站共享的服务器上安全地启用 HTTP/2 吗?

ios - 使用 WebRTC 的视频流和广播

javascript - 达到 maxlength 值后聚焦下一个输入