使用网络摄像头作为HTML背景

时间:2012-05-02 10:19:46

标签: java javascript jquery html

我有一台带网络摄像头的电脑,有时会在我们的夜总会展示一个网站......

我想合并这两个并显示网站的html背景源是同一台计算机上网络摄像头的视频输出。

网络摄像头不需要流入互联网,网站只需要在本地发送视频信号......我不知道我们是怎么做的但效果与此类似,只是我们是不使用Youtube作为视频源 - http://www.seanmccambridge.com/tubular/

也许这将是html,css,jquery和java或flash的组合(从网络摄像头访问视频)......

1 个答案:

答案 0 :(得分:2)

从HTML的角度来看,它基本上只是这个。

<body>
    <video id="video-bg>
    <div id="site_wrapper">
       <!--the html-->
    </div>
</body>

对于CSS,您只需要使用position:absolute将html叠加到视频上。顶部,左侧和右侧只是确保它们对齐顶部,并伸展到浏览器的宽度。

#site_wrapper{
    position:relative;
}

#video-bg {
    position:absolute;
    top: 0;
    left: 0;
    right: 0;
}

使用getUserMedia可以从相机中提供视频,将流转换为斑点并将斑点输入<video>元素。有关this MDN example的更多信息:

navigator.getUserMedia({ audio: true, video: { width: 1280, height: 720 } },
    function(stream) {
      var video = document.querySelector('video');
      video.src = window.URL.createObjectURL(stream);
      video.onloadedmetadata = function(e) {
      video.play();
    };
  },
  function(err) {
    console.log("The following error occured: " + err.name);
  }
);
  

网络摄像头无需流式传输到互联网,网站只需要在本地提供视频信号

现在这让我烦恼了一下。如果您的网站在网络上,那么“本地”一词将代表观众的机器,而不是您的夜总会的机器。如果您想在后台播放俱乐部的视频,则需要通过网络流式传输视频,然后将页面流式传输下来。

如果您的网站是您夜总会中的自助服务终端,那么“本地”将是有意义的。您的自助服务终端将挂上网络摄像头,上面的代码将适用。