假设我有 2 个对等方与 webRTC 交换视频。现在我需要将两个流都保存为中央服务器中的视频文件。有可能做到实时吗?(存储/上传来自同行的视频不是一种选择)。
我想建立一个 3 节点 webRTC 连接,第三个节点是server。这样,我可以屏幕记录第三个节点的流或使用其他方式保存它。但我不确定实施的可靠性/可行性。
这是针对移动应用程序的,我会避免任何涉及上传/保存的方法。
PS:我正在使用Agora.io进行视频会议。
假设我有 2 个对等方与 webRTC 交换视频。现在我需要将两个流都保存为中央服务器中的视频文件。有可能做到实时吗?(存储/上传来自同行的视频不是一种选择)。
我想建立一个 3 节点 webRTC 连接,第三个节点是server。这样,我可以屏幕记录第三个节点的流或使用其他方式保存它。但我不确定实施的可靠性/可行性。
这是针对移动应用程序的,我会避免任何涉及上传/保存的方法。
PS:我正在使用Agora.io进行视频会议。
在我看来,您可以像记录演示一样进行操作:https ://webrtc.github.io/samples/src/content/getusermedia/record/ 。
将每个流记录到 blob 并使用 websocket 将它们推送到您的服务器。
然后将 blob 转换为 webm 文件或添加视频
Agora 不提供开箱即用的本地录制,但他们确实为您提供了代码,以便您能够使用自己的服务器启动自己的本地录制。Agora 有在 GitHub 上部署的代码和说明:https ://github.com/AgoraIO/Basic-Recording
它的工作方式是,一旦您设置了 Agora Recording SDK,客户端将通过用户交互(按钮点击)或其他一些事件(即peer-joined
或stream-subscribed
)触发录制开始,这将触发录制服务加入频道并记录流。_一旦录制停止,服务就会输出视频文件。
你需要一个 WebRTC 媒体服务器。
WebRTC 媒体服务器可以支持更复杂的场景 WebRTC 媒体服务器是充当 WebRTC 客户端但在服务器端运行的服务器。它们是我们希望采取行动的媒体的终点。在 WebRTC 媒体服务器上完成的热门任务包括:
群呼 录音 广播和直播 其他网络/协议的网关 服务器端机器学习 云渲染(游戏或3D) 有冒险精神和坚强的人会去开发自己的WebRTC媒体服务器。大多数人会选择商业服务或开源服务。对于后者,请查看这些关于选择 WebRTC 开源媒体服务器框架的提示。
在许多情况下,开发人员正在寻找的是对群组通话的支持,这几乎总是需要媒体服务器。在这种情况下,您需要决定是使用分类(现在有些旧)MCU 混合模型还是使用更被接受和现代的 SFU 路由模型。您还需要仔细考虑 WebRTC 媒体服务器的大小。
对于记录 WebRTC 会话,您可以在客户端或服务器端进行。在这两种情况下,您都需要一台服务器,但是该服务器是什么以及它的工作方式在每种情况下都会有很大不同。
如果它正在广播您所追求的,那么您需要考虑您的 WebRTC 会话的广播大小。