我想在网络应用上获取网络摄像头流。我正在用JavaScript编写代码。我编写的代码在linux服务器上没有给出错误,但在Windows服务器上却给出了错误
在linux服务器上,我可以使用chrome和firefox获得视频流。这里这个链接 http://kodaktuel.com/kamera
但是我无法在带有chrome服务器的Windows服务器上获得流。虽然,我可以在此服务器上使用Firefox进行流传输 http://aicuzem.agri.edu.tr/denemeYusuf/
这是我的密码。
<video id="video" width="640" height="480" autoplay></video>
<button id="cek">Snap Photo</button>
<canvas id="canvas" width="640" height="480"></canvas>
<script type="text/javascript">
var video = document.getElementById('video');
if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia({ video: true }).then(function(stream) {
video.srcObject = stream;
video.play();
});
} else if(navigator.getUserMedia) { // Standard
navigator.getUserMedia({ video: true }, function(stream) {
video.src = stream;
video.play();
}, errBack);
} else if(navigator.webkitGetUserMedia) { // WebKit-prefixed
navigator.webkitGetUserMedia({ video: true }, function(stream){
video.src = window.webkitURL.createObjectURL(stream);
video.play();
}, errBack);
} else if(navigator.mozGetUserMedia) { // Mozilla-prefixed
navigator.mozGetUserMedia({ video: true }, function(stream){
video.srcObject = stream;
video.play();
}, errBack);
}
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
var video = document.getElementById('video');
document.getElementById("cek").addEventListener("click", function() {
context.drawImage(video, 0, 0, 640, 480);
});
</script>
尽管我在两个服务器上都编写了相同的代码,但我不明白为什么我无法在Windows服务器上获取流。