如何将视频流发送到node.js服务器

Дми*_*мин 5 javascript video node.js

我的目标:通过 Node.js 服务器将一些视频流从一个客户端发送到另一个客户端。但我什至无法将视频从第一个客户端发送到服务器。

克莱因特

var socket = io(":9966");

    socket.on('message', function (data) {
        console.log(data)
    })

    function onVideoFail(e) {
        console.log('webcam fail!', e);
    };


    window.URL = window.URL || window.webkitURL;
    navigator.getUserMedia  = navigator.getUserMedia ||
        navigator.webkitGetUserMedia ||
        navigator.mozGetUserMedia ||
        navigator.msGetUserMedia;

    var video = document.querySelector('video');


        navigator.getUserMedia({video: true}, function(stream) {
            console.log(stream);
            video.src = window.URL.createObjectURL(stream);

            var arrayOfStreams = [stream];
            var medias = new MediaStreamRecorder(stream);
            medias.ondataavailable = function(blob) {
                socket.emit("streaming", blob);
            };
            medias.start();
            socket.emit("streaming", stream);
            socket.emit('test', 'mess from 1');
        }, onVideoFail);
Run Code Online (Sandbox Code Playgroud)

服务器

io.on('connection', function (socket) {
log.info('new con!', socket.id);

socket.send("you connected to server");

socket.on('test', function (data) {
    console.log(data);
    socket.broadcast.send(data);
});

socket.on('streaming', function (stream) {
    log.info("i`m in stream", socket.id);
    log.info(stream);

    socket.broadcast.emit('streaming', stream);
});
});
Run Code Online (Sandbox Code Playgroud)

我可以发送文本和一切都很棒,但是当我将流发送到服务器时,我得到空值。

我在服务器端看到的

我寻找了一些提示并找到了,但仍然不起作用。也许我错过了什么。

谁能帮我?

PS我从视频标签获取视频

小智 0

将您的媒体转换为 base64,这样服务器将其读取为文本字符串并将其返回