有些系统将安全摄像头连接到数据中心(工作站计算机,人工操作员不断观察)。我只是在谈论普通的安全系统。
此类架构中有4种可能的情况:
1)多台摄像机 - 单一数据中心, 2)多个摄像头 - 多个数据中心, 3)单摄像头 - 单个数据中心和 4)单摄像头 - 多个数据中心。
假设摄像机仅具有云台 - 变焦+实时视频流功能。 对于“案例2”系统,存在一些问题: - 当两个数据中心想要同时访问同一个摄像机时会发生什么。 - 数据中心之间是否有任何优先级层次结构? - 操作之间是否存在任何优先级层次结构(例如,Pan-tilt优先于版本查询) 。 。
我认为这些问题必须在安全系统开发人员中如此常见,是否存在任何算法,规范,书籍或LIBRARY实现 - 以便多次访问安全摄像头系统?
目前我正在研究ONVIF规范,但我无法找到任何相关的定义。
我知道我的问题太笼统,但任何帮助都会变得很方便。
答案 0 :(得分:0)
尝试显示不同的相机
<title>Video Camera</title> <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"
<style type="text/css" media="screen"> video { border:1px solid gray; } </style> </head> <body> <script> if (!MediaStreamTrack) document.body.innerHTML = '<h1>Incompatible Browser Detected. Try <strong
style =“color:red;”&gt; Chrome Canary代替。';
var videoSources = []; MediaStreamTrack.getSources(function(media_sources) { console.log(media_sources); alert('media_sources : '+media_sources); media_sources.forEach(function(media_source){ if (media_source.kind === 'video') { videoSources.push(media_source); } }); getMediaSource(videoSources); }); var get_and_show_media = function(id) { var constraints = {}; constraints.video = { optional: [{ sourceId: id}] }; navigator.webkitGetUserMedia(constraints, function(stream) { console.log('webkitGetUserMedia'); console.log(constraints); console.log(stream); var mediaElement = document.createElement('video'); mediaElement.src = window.URL.createObjectURL(stream); document.body.appendChild(mediaElement); mediaElement.controls = true; mediaElement.play(); }, function (e) { alert('Hii'); document.body.appendChild(document.createElement('hr')); var strong = document.createElement('strong'); strong.innerHTML = JSON.stringify(e); alert('strong.innerHTML : '+strong.innerHTML); document.body.appendChild(strong); }); }; var getMediaSource = function(media) { console.log(media); media.forEach(function(media_source) { if (!media_source) return; if (media_source.kind === 'video') { // add buttons for each media item var button = $('<input/>', {id: media_source.id, value:media_source.id, type:'submit'}); $("body").append(button); // show video on click $(document).on("click", "#"+media_source.id, function(e){ console.log(e); console.log(media_source.id); get_and_show_media(media_source.id); }); } }); } </script> </body> </html>