发送视频和音频流到服务器

Sending video and audio stream to server

我正在尝试开发一个系统,其中有两个客户端可以通过服务器从浏览器相互进行视频聊天。第一个客户端将其视频流发送到服务器,服务器将其发送到第二个客户端。此外,服务器将客户端的流保存为视频文件。

我使用了这个 WebRTC 示例:https://github.com/webrtc/samples/blob/master/src/content/getusermedia/source/js/main.js

服务器端;

var express = require('express');
var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.use(express.static('C:/source/'));
app.get('/', function(req, res) {
    res.sendFile('C:/source/index.html');
});

io.on('connection', function(socket) {
    console.log('user connected.');

    socket.on('disconnect', function() {
        console.log('user disconnected.');
    });

    socket.on('chat message', function(msg) {
        ?
    });
});

http.listen(3000, function(){
  console.log('listening on *:3000');
});

客户端;

var socket = io();

while(streaming) {
   socket.emit(?);
}

我不明白我应该从哪个来源将客户端的视频+音频流发送到服务器。如果我成功上传流,我将能够在服务器端处理它。

您将需要一个能够处理 WebRTC 媒体的服务器。

我建议研究 Kurento, Janus, Jitsi Videobridge, FreeSWITCH and Asterisk 作为替代方案。

这将需要您付出更多的努力,因为所有这些都需要更多地了解它们、WebRTC 和实时媒体处理。

如果您昨天还需要这个工作并且想把精力和精力放在其他地方,您应该查看此 report about WebRTC PaaS 中列出的一些供应商。