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

时间:2015-06-27 23:39:36

标签: javascript node.js sockets socket.io webrtc

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

我使用了这个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(?);
}

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

1 个答案:

答案 0 :(得分:7)

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

我建议调查KurentoJanusJitsi VideobridgeFreeSWITCHAsterisk作为替代方案。

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

如果您昨天需要这项工作并希望将精力放在其他地方,那么您应该查看本report about WebRTC PaaS中列出的一些供应商。