从 webrtc 会话中提取视频流并转换为 rtmp

Posted

技术标签:

【中文标题】从 webrtc 会话中提取视频流并转换为 rtmp【英文标题】:Extract video stream from webrtc session and convert to rtmp 【发布时间】:2017-01-20 18:23:44 【问题描述】:

如何在正在进行的 webrtc 视频通话中提取视频流并将其发送到可以进行转码的服务器。

就我对 webrtc 的了解而言,它是点对点的。那么我们如何获取流到服务器呢?

我的最终目标是将此流在服务器端转换为 rtmp。

有人在 google 群组上提出了一个关于 similar issue 的相关问题,但尚未得到回答。

PS:我知道一些应用程序已经在做同样的事情(例如 webinarjam )。但不确定他们是如何做到的。

【问题讨论】:

【参考方案1】: 您没有 JS 级别的任何东西来实现这一点。 MediaStream 和 MediaStream Track 是不透明的对象,您只能通过现有 API 操作或从源/接收器获取/设置。 如果您使用 webrtc.org 提供的本地实现,则可以做到这一点。我的意思是您可以访问原始帧,但您仍然可以重新编码,可能重新保护(加密)和重新打包以作为 rtmp 流式传输。 另一个可能更实用的解决方案是使用现有的媒体服务器,无论是商业的还是开源的,它都支持 webrtc 和 rtmp,并且会为您做任何事情。那里有很多,你有很多选择。您仍然需要处理应用程序的逻辑部分,并与信号服务器、STUN/TURN 等集成...... 需要最少编码但具有最低灵活性的最终解决方案是使用可处理 webrtc 和 rtmp 的 PaaS 产品。在这里,有多种选择可供选择,使用正确关键字的谷歌搜索将为您提供所需的内容。

【讨论】:

以上是关于从 webrtc 会话中提取视频流并转换为 rtmp的主要内容,如果未能解决你的问题,请参考以下文章

如何在服务器端录制 WebRTC 视频/音频会话?

从视频中提取图像,将其更改为灰度并找出差异

基于webrtc多人音视频的研究

通过浏览器使用WebRTC时会话终止或断开都是什么原因?

WebRTC 错误:无法创建远程会话描述。在错误的状态下调用

TSINGSEE青犀视频开发webrtc中SDP信息解析