如何将网络摄像头数据流传输至服务器?

2024-09-28 19:33:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在寻找一种方法,将网络摄像头的数据从浏览器传输到网络服务器。使用getUserMedia获取网络摄像头数据。一个常见的选择似乎是使用画布和计时器来向服务器发送屏幕截图,但我想要一个合适的视频流。WEBRTC似乎是另一种选择,但这可能有点过头了,而且没有太多的软件可以在服务器上运行(即非浏览器),使用WEBRTC,并且有Python的绑定。在

也许我错过了更简单的忧郁。例如,是否可以使用WebSocket对视频流进行流式传输?在

'use strict';


var errorCallback = function(e) {
    console.log('Rejected!', e);
};

var successCallback = function(stream) {
    console.log('Got Video.');
    var video = document.querySelector('video');
    video.src = window.URL.createObjectURL(stream);
    // ???
    // Stream data to server  
    video.play();

};

navigator.getUserMedia = navigator.getUserMedia ||
                         navigator.webkitGetUserMedia ||
                         navigator.mozGetUserMedia ||
                         navigator.msGetUserMedia;


var hdConstraints = {
    video: {
        mandatory: {
            minWidth: 1280,
            minHeight: 720,
        }
    },
    audio: false,
};

if (navigator.getUserMedia) {
    navigator.getUserMedia(hdConstraints, successCallback, errorCallback);
}
else {
    console.log('No getUserMedia available.');
}

Tags: 数据网络服务器lognavigatorvarvideo浏览器
1条回答
网友
1楼 · 发布于 2024-09-28 19:33:06

看起来目前最好的解决方案确实是使用画布,定期从网络摄像头创建图像并通过websockets发送。在

相关问题 更多 >