我正在尝试开发一个系统,其中有两个客户端可以通过服务器从浏览器中相互聊天。第一个客户端将其视频流发送到服务器,服务器将其发送到第二个客户端。此外,服务器将客户端的流保存为视频文件。
我使用了这个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(?);
}
我无法理解从哪个源我应该将客户端的视频+音频流发送到服务器。如果我成功上传了流,我将能够在服务器端处理它。
答案 0 :(得分:7)
您需要一台能够处理WebRTC媒体的服务器。
我建议调查Kurento,Janus,Jitsi Videobridge,FreeSWITCH和Asterisk作为替代方案。
这需要您付出更多努力,因为所有人都需要更多地了解它们,WebRTC和实时媒体处理。
如果您昨天需要这项工作并希望将精力放在其他地方,那么您应该查看本report about WebRTC PaaS中列出的一些供应商。