‘壹’ web camera是什么
web camera:网络摄像头
‘贰’ 如何远程控制手机摄像头
只需要安装一个软件,即可实现你通过网页远程控制手机摄像头。
在手机上下载安装AirDroidApp,并登录AirDroid帐号
访问AirDroid个人版 Web端,并登录同一个AirDroid帐号
点击相机图标建立连接。
web网页远程控制摄像头方式:
‘叁’ 手机web页面怎么调用摄像头执行扫描,获取数据
HTML5技术支持WebApp在手机上拍照,显示在页面上并上传到服务器。这是手机微博应用中常见的功能,当然你也可以在其它类型应用中适当使用此技术。
1、 视频流
HTML5 的 The Media Capture(媒体捕捉) API 提供了对摄像头的可编程访问,用户可以直接用 getUserMedia(请注意目前仅Chrome和Opera支持)获得摄像头提供的视频流。我们需要做的是添加一个HTML5 的 Video 标签,并将从摄像头获得的视频作为这个标签的输入来源。
<video id=”video” autoplay=”"></video>
<script>
var video_element=document.getElementById(‘video’);
if(navigator.getUserMedia){ // opera应使用opera.getUserMedianow
navigator.getUserMedia(‘video’,success,error); //success是回调函数,当然你也可以直接在此写一个匿名函数
}
function success(stream){
video_element.src=stream;
}
</script>
此时,video 标签内将显示动态的摄像视频流。下面需要进行拍照了。
2、 拍照
拍照是采用HTML5的Canvas功能,实时捕获Video标签的内容,因为Video元素可以作为Canvas图像的输入,所以这一点很好实现。主要代码如下:
var canvas=document.createElement(‘canvas’); //动态创建画布对象
var ctx=canvas.getContext(’2d’);
var cw=vw,ch=vh;
ctx.fillStyle=”#ffffff”;
ctx.fillRect(0,0,cw,ch);
ctx.drawImage(video_element,0,0,cw,ch,0,0,vw,vh); //将video对象内指定的区域捕捉绘制到画布上指定的区域,可进行不等大不等位的绘制。
document.body.append(canvas);
3、 图片获取
从Canvas获取图片数据的核心思路是用canvas的toDataURL将Canvas的数据转换为base64位编码的PNG图像,类似于“data:image/png;base64,xxxxx”的格式。
var imgData=canvas.toDataURL(“image/png”);
这样,imgData变量就存储了一长串的字符数据内容,表示的就是一个PNG图像的base64编码。因为真正的图像数据是base64编码逗号之后的部分,所以要让实际服务器接收的图像数据应该是这部分,我们可以用两种办法来获取。
第一种:是在前端截取22位以后的字符串作为图像数据,例如:
var data=imgData.substr(22);
如果要在上传前获取图片的大小,可以使用:
var length=atob(data).length; //atob 可解码用base-64解码的字串
第二种:是在后端获取传输的数据后用后台语言截取22位以后的字符串(也就是在前台略过上面这步直接上传)。例如PHP里:
$image=base64_decode(str_replace(‘data:image/jpeg;base64,’,”,$data);
4、 图片上传
在前端可以使用Ajax将上面获得的图片数据上传到后台脚本。例如使用jQuery时可以用:
$.post(‘upload.php’,{‘data’:data});
在后台我们用PHP脚本接收数据并存储为图片。
function convert_data($data){
$image=base64_decode(str_replace(‘data:image/jpeg;base64,’,”,$data);
save_to_file($image);
}
function save_to_file($image){
$fp=fopen($filename,’w');
fwrite($fp,$image);
fclose($fp);
}
‘肆’ 如何html5在浏览器里访问手机后置摄像头
html5需要使用接口chrome30+ for android 已经实现了利用webcam,调用手机后置摄像头,代码如下:
<!DOCTYPEhtml>
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<title>HTML5GetUserMediaDemo</title>
<metaname="viewport"content="width=device-width,initial-scale=1.0,maximum-scale=1.0"/>
</head>
<body>
<inputtype="button"title="开启摄像头"value="开启摄像头"onclick="getMedia();"/><br/>
<videoheight="120px"autoplay="autoplay"></video><hr/>
<inputtype="button"title="拍照"value="拍照"onclick="getPhoto();"/><br/>
<canvasid="canvas1"height="120px"></canvas><hr/>
<inputtype="button"title="视频"value="视频"onclick="getVedio();"/><br/>
<canvasid="canvas2"height="120px"></canvas>
<scripttype="text/javascript">
varvideo=document.querySelector('video');
varaudio,audioType;
varcanvas1=document.getElementById('canvas1');
varcontext1=canvas1.getContext('2d');
varcanvas2=document.getElementById('canvas2');
varcontext2=canvas2.getContext('2d');
navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;
window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL;
varexArray=[];//存储设备源ID
MediaStreamTrack.getSources(function(sourceInfos){
for(vari=0;i!=sourceInfos.length;++i){
varsourceInfo=sourceInfos[i];
//这里会遍历audio,video,所以要加以区分
if(sourceInfo.kind==='video'){
exArray.push(sourceInfo.id);
}
}
});
functiongetMedia(){
if(navigator.getUserMedia){
navigator.getUserMedia({
'video':{
'optional':[{
'sourceId':exArray[1]//0为前置摄像头,1为后置
}]
},
'audio':true
},successFunc,errorFunc);//success是获取成功的<ahref="https://www..com/s?wd=%E5%9B%9E%E8%B0%83%E5%87%BD%E6%95%B0&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-"target="_blank"class="-highlight">回调函数</a>
}
else{
alert('Nativedevicemediastreaming(getUserMedia)notsupportedinthisbrowser.');
}
}
functionsuccessFunc(stream){
//alert('Succeedtogetmedia!');
if(video.mozSrcObject!==undefined){
//Firefox中,video.mozSrcObject最初为null,而不是未定义的,我们可以靠这个来检测Firefox的支持
video.mozSrcObject=stream;
}
else{
video.src=window.URL&&window.URL.createObjectURL(stream)||stream;
}
//video.play();
//音频
audio=newAudio();
audioType=getAudioType(audio);
if(audioType){
audio.src='polaroid.'+audioType;
audio.play();
}
}
functionerrorFunc(e){
alert('Error!'+e);
}
//将视频帧绘制到Canvas对象上,Canvas每60ms切换帧,形成肉眼视频效果
functiondrawVideoAtCanvas(video,context){
window.setInterval(function(){
context.drawImage(video,0,0,90,120);
},60);
}
//获取音频格式
functiongetAudioType(element){
if(element.canPlayType){
if(element.canPlayType('audio/mp4;codecs="mp4a.40.5"')!==''){
return('aac');
}elseif(element.canPlayType('audio/ogg;codecs="vorbis"')!==''){
return("ogg");
}
}
returnfalse;
}
//vedio播放时触发,绘制vedio帧图像到canvas
//video.addEventListener('play',function(){
//drawVideoAtCanvas(video,context2);
//},false);
//拍照
functiongetPhoto(){
context1.drawImage(video,0,0,90,120);//将video对象内指定的区域捕捉绘制到画布上指定的区域,实现拍照。
}
//视频
functiongetVedio(){
drawVideoAtCanvas(video,context2);
}
</script>
</body>
</html>
HTML5 The Media Capture API提供了对摄像头的可编程访问,用户可以直接用getUserMedia获得摄像头提供的视频流。但实际上用html5调用手机摄像头存在很多问题:1)谷歌的发布的Chrome到了21版本后,才新增了一个用于高质量视频音频通讯的getUserMedia API,该API允许Web应用程序访问摄像头和麦克风,其他手机浏览器只有opera支持html5调用本地拍照功能2)两个浏览器均不支持访问多个摄像头:chrome不支持访问后置摄像头,pera支持访问后置摄像头的
‘伍’ 怎样开启对方手机摄像头
手机远程监控局域网内摄像头的方法(以海康威视硬摄像头为例):
1、首先把网络摄像机安装好,通过网线连接到交换机,网络摄像机连接的好处就是不需要每条网线都必须要统一在一个交换机上。
比如:需要在远处装一个摄像机,如果要装十个摄像机那么传统摄像机是必须每条同轴线都一定要同时插在一个录像机上才能正常使用但网络摄像机可以多添加一个交换机,把那有十根网线的交换机变成只需要通过一条网线就拉到另一只交换机上就可以正常使用,这样不用大费周章,节省了很多人工。
2、用网线通过电脑连接到交换机上,就可以看到在线摄像了,也可以通过Wifi无线网络连接IPAD,笔记本,首先看你的此款摄像机是否支持手机观看,如果支持而且此款IPCAM已经接入了公网,并且手机是智能手机那么可以在线远程监控了,也可以通过NVR录像机连接交换机。
使用显示屏连接上录像机就可以随时看到当场监控录下的画面图像,远程用户则可以通过登录IPC的域名对IPC进行观看、控制、管理和录像。远程用户登录IPC都可通过网页浏览器(IE)和相应的视频集中管理软件来实现,操作非常的方便,这样就可以正常的使用网络摄像机了。
相关介绍:
摄像头(CAMERA或WEBCAM)又称为电脑相机、电脑眼、电子眼等,是一种视频输入设备,被广泛的运用于视频会议,远程医疗及实时监控等方面。普通的人也可以彼此通过摄像头在网络进行有影像、有声音的交谈和沟通。另外,人们还可以将其用于当前各种流行的数码影像,影音处理。
摄像头可分为数字摄像头和模拟摄像头两大类。数字摄像头可以将视频采集设备产生的模拟视频信号转换成数字信号,进而将其储存在计算机里。模拟摄像头捕捉到的视频信号必须经过特定的视频捕捉卡将模拟信号转换成数字模式,并加以压缩后才可以转换到计算机上运用。
‘陆’ h5制作的web app 怎么样启用手机摄像头进行拍照
web app获取不到手机里面的底层功能,比如说打开摄像头、打开相册、获取我们的地理位置信息、支付...都是做不到的,那如果你想开发一款app 需要用到原生底层能力的话,web app是满足不了的
‘柒’ h5制作的web app 怎么样启用手机摄像头进行拍照
web
app获取不到手机里面的底层功能,比如说打开摄像头、打开相册、获取咱们的地理位置信息、支付...都是做不到的,那如果想开发一款app
需要用到原生底能力的话,web
app是满足不了的
‘捌’ 手机web页面怎么调用摄像头执行扫描,获取数据
可以用手机中的微信扫一扫或是下载一些其它的扫描二维码软件。