我正在寻找一种方法,将网络摄像头的数据从浏览器传输到网络服务器。使用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.');
}
看起来目前最好的解决方案确实是使用画布,定期从网络摄像头创建图像并通过websockets发送。在
相关问题 更多 >
编程相关推荐