如何在正在进行的 webrtc 视频通话中提取视频流并将其发送到可以进行转码的服务器。
就我对 webrtc 的了解而言,它是点对点的。那么我们如何将流传输到服务器呢?
我的最终目标是在服务器端将此流转换为 rtmp。
在 Google 群组中提出了关于 similar issue 的相关问题,但尚未得到答复。
PS:我知道一些应用程序已经在做同样的事情(例如 webinarjam )。但不确定他们是如何做到的。
最佳答案
- 您在 JS 级别没有任何东西可以实现此目的。 MediaStream 和 MediaStream Track 是不透明对象,您只能通过现有 API 进行操作或从源/接收器获取/设置它们。
- 如果您使用 webrtc.org 提供的 native 实现,则可以做到这一点。我的意思是,您可以访问原始帧,但仍然需要您重新编码,可能需要重新保护(加密)并重新打包以作为 rtmp 进行流式传输。
- 另一个也许更实用的解决方案是使用现有的媒体服务器,无论是商业的还是开源的,它支持 webrtc 和 rtmp,并且会为您做一切事情。那里有很多,你有很多选择。您仍然需要处理应用程序的逻辑部分,并与信号服务器、STUN/TURN 等集成......
- 需要最少编码但灵活性最小的最终解决方案是使用可处理 webrtc 和 rtmp 的 PaaS 产品。同样,这里有多种选择可供选择,使用正确的关键字进行 Google 搜索将为您提供所需的内容。
关于webrtc - 从 webrtc session 中提取视频流并转换为 rtmp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41770099/