Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将视频流发送到node.js服务器_Javascript_Node.js_Video - Fatal编程技术网

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

Javascript 如何将视频流发送到node.js服务器,javascript,node.js,video,Javascript,Node.js,Video,我的目标是:通过node.js服务器将一些视频流从一个客户端发送到另一个客户端。但我甚至不能从first cleint向服务器发送视频 克莱因 var socket = io(":9966"); socket.on('message', function (data) { console.log(data) }) function onVideoFail(e) { console.log('webcam fail!', e);

我的目标是:通过node.js服务器将一些视频流从一个客户端发送到另一个客户端。但我甚至不能从first cleint向服务器发送视频

克莱因

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);
服务器

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);
});
});
我可以发送文本和所有很棒的东西,但当我将流发送到服务器时,我得到的是空值

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

有人能帮我吗


PS I从视频标签获取视频

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

问题结束。当我红了它很难使现场流。如果有人读到这篇文章,请检查此链接。您必须了解的是:录制视频的一小部分并将其发送到服务器。希望它能有所帮助。

我了解base64,它只适用于图像。这是正确的吗?