日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

如何在浏览器中控制使用USB摄像头

發布時間:2024/1/18 HTML 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何在浏览器中控制使用USB摄像头 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在支持HTML5的瀏覽器中要啟用連接到電腦的USB攝像頭非常方便,只需要使用getUserMedia()。不過這個接口提供的功能比較有限(比如,無法調節攝像頭參數),且不兼容老的瀏覽器。要兼顧易用性和兼容性,可以創建一個桌面的攝像頭應用(C/C++, Java,Python)來獲取數據,然后通過server發送給瀏覽器的img元素來顯示。這樣既可以做到對攝像頭的完全控制,又可以把應用運行在所有的瀏覽器上。Dynamsoft Camera SDK就是這種方案(后臺camera service + 前端JavaScript庫)。在這篇文章中,我會分享一下如何使用JavaScript和PHP從視頻流中采集圖像并上傳到Web服務器。

準備工作:

  • 編程語言:HTML,JavaScript,PHP
  • 瀏覽器: IE v6或更高版本,Chrome,Firefox,Edge,Safari等
  • Dynamsoft Camera SDK 6.0。

快速搭建用于Web瀏覽器的攝像頭應用

拷貝資源目錄Dynamsoft\Dynamsoft Camera SDK 6.0 Trial\DCSResources到工程根目錄。

創建HTML頁面ImageUpload.html。按順序添加兩個JS文件:

<head><script type="text/javascript" src="DWSResources/dynamsoft.webcam.config.js"> </script> <script type="text/javascript" src="DWSResources/dynamsoft.webcam.initiate.js"> </script> </head>

創建兩個容器,分別用于顯示視頻和圖像:

<div id="video-container" style="width: 500px; height: 400px; display: inline-block; border: solid 1px gray"> </div> <div id="image-container" style="width: 500px; height: 400px; display: inline-block; border: solid 1px gray"> </div>

初始化網絡攝像頭對象,然后播放視頻:

<script type="text/javascript"> dynamsoft.dwsEnv.init('video-container', 'image-container', onInitSuccess, onInitFailure); function onInitSuccess(videoViewerId, imageViewerId) { dwsObject = dynamsoft.dwsEnv.getObject(videoViewerId); dwsObject.camera.playVideo(); } </script>

創建按鈕事件用于抓取圖像:

<input type="button" value="Grab" onclick="acquireImage();" /><script type="text/javascript"> //capture an image function acquireImage() {if (dwsObject) {dwsObject.camera.captureImage('image-container');}} </script>

保存文件,然后在瀏覽器中訪問頁面:

現在通過HTTP上傳文件到Web服務器。使用setHTTPFormFields可以設置額外字段。在ImageUpload.html中,我們添加一個上傳按鈕。

<a id="btn-upload" class="btn-upload" onclick="onBtnUploadClick(this);">Upload</a><script type="text/javascript">function onBtnUploadClick() { var imageViewer = dwsObject.getImageViewer('image-container');var counter,url = getCurPagePath() + 'ActionPage.php',fileName = “test.jpg”,imageType = imageViewer.io.EnumImageType.JPEG;imageIndexArray = [0];imageViewer.io.setHTTPFormFields({ "fileName": fileName });imageViewer.io.httpUploadAsync(url, imageIndexArray, imageType, onUploadSuccess, onUploadFailure);} </script>

創建一個ActionPage.php來接收圖像數據:

<?php $strJson = "{\"success\":false}";try{$file = $_FILES["RemoteFile"];$fileName = $_POST["fileName"];if ($fileName == "" || $fileName == null) $fileName = $file["name"];$filePath = dirname(__FILE__) . "\\UploadedImages\\" . $fileName;if(trim($file["type"]) == "application/octet-stream"){move_uploaded_file($file["tmp_name"] , $filePath);}else{$file_contents = base64_decode(str_replace(' ', '+', file_get_contents($file['tmp_name'])));file_put_contents($filePath, $file_contents);}$strJson = "{\"success\":true, \"fileName\":\"" . $fileName . "\"}"; } catch(Exception $ex){$strJson = "{\"success\":false, \"error\": \"" . ex.Message.Replace("\\", "\\\\") . "\"}"; } // Response.Clear();header("Content-Type: application/json; charset=utf-8");echo $strJson;?>

就這么簡單。

源碼

https://www.dynamsoft.com/downloads/dynamsoft-webcam-sdk-sample-download.aspx?SampleID=167

總結

以上是生活随笔為你收集整理的如何在浏览器中控制使用USB摄像头的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。