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

Posted

技术标签:

【中文标题】如何在服务器端录制 WebRTC 视频/音频会话?【英文标题】:How to record WebRTC video/audio session on server side? 【发布时间】:2015-12-09 10:21:35 【问题描述】:

我正在使用 WebRTC 创建一个 Web 应用程序,我需要在其中记录并保存服务器上的每个会话,以便其他用户以后可以访问。我不想在客户端记录可用的解决方案。 最好的方法是什么。是否已经有任何解决方案。

【问题讨论】:

【参考方案1】:

您应该为此使用 WebRTC 媒体服务器。 Kurento Media Server 是您拥有的可能性之一。 Kurento GitHub repositories 上有几个用于记录服务器端的示例。最简单的可能是recording with generators one。

【讨论】:

【参考方案2】:

您可以在服务器端实现 websocket 支持,只需通过 websocket 通道从客户端流式传输到服务器。

在 websocket 通道上使用二进制模式是合理的。因此,在客户端,它看起来如下所示:

var stream_ws = new WebSocket('ws://localhost/ws');
stream_ws.binaryType = 'arraybuffer';
stream_ws.send(streambuffer);

streambuffer 变量是一个 ArrayBuffer 对象,其中包含您从 MediaRecorder 获取的数据。在服务器端,您可以将流保存到磁盘。

【讨论】:

以上是关于如何在服务器端录制 WebRTC 视频/音频会话?的主要内容,如果未能解决你的问题,请参考以下文章

H5录制视频音频(WebRTC)

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

如何使用 webRTC 和基于服务器的对等连接录制网络摄像头和音频

如何实现webrtc多人视频直播会议?

如何强制录制webrtc音频的时间限制

MediaStreamRecorder - 录制音频问题