当前位置:网站首页>树莓派 USB摄像头 实现网络监控( MJPG-Streamer)
树莓派 USB摄像头 实现网络监控( MJPG-Streamer)
2022-08-03 13:53:00 【InfoQ】
1.硬件与驱动
1.1用到的工具材料:
- 树莓派3B+
- PC电脑
- USB摄像头
1.2检查是否存在USB摄像头设备
[email protected]:~ $ lsusb

[email protected]:~ $ ls /dev

2 .安装MJPG-Streamer
[email protected]:~ $ sudo apt-get install cmake libjpeg8-dev
[email protected]:~ $ wget https://github.com/Five-great/mjpg-streamer/archive/master.zip
[email protected]:~ $ unzip mjpg-streamer-master.zip
[email protected]:~ $ cd mjp*g-*
[email protected]:~/mjpg-streamer-master $ cd mjpg-*
[email protected]:~/mjpg-streamer-master/mjpg-streamer-experimental $ make
[email protected]:~/mjpg-streamer-master/mjpg-streamer-experimental $ sudo make install
[email protected]:~/mjpg-streamer-master/mjpg-streamer-experimental $ cd home
[email protected]:~ $
git clone https://e.coding.net/fivecc/mjpg-streamer/mjpg-streamer.git
[email protected]:~ $ sudo apt-get install cmake libjpeg8-dev
[email protected]:~ $ git clone https://e.coding.net/fivecc/mjpg-streamer/mjpg-streamer.git
[email protected]:~ $ cd mjpg-*
[email protected]:~/mjpg-streamer-master $ cd mjpg-*
[email protected]:~/mjpg-streamer-master/mjpg-streamer-experimental $ make
[email protected]:~/mjpg-streamer-master/mjpg-streamer-experimental $ sudo make install
[email protected]:~/mjpg-streamer-master/mjpg-streamer-experimental $ cd
[email protected]:~ $
Mjpg_streamer.c /* 主程序主要运行如下几个部分 */
input_init(); /* 输入相关的初始化 */
output_init(); /* 输出相关的初始化 */
input_run(); /* 运行输入函数,采集输入数据*/
output_run(); /* 输出初函数,把数据收集起来通过网络socket发送出去 */
3.启动 MJPG-Streamer
3.1 输入以下命令
[email protected]: ~ $ /usr/local/bin/mjpg_streamer -i "/usr/local/lib/mjpg-streamer/input_uvc.so -n -f 30 -r 1280x720" -o "/usr/local/lib/mjpg-streamer/output_http.so -p 8080 -w /usr/local/share/mjpg-streamer/www"

3.2参数说明:
input_uvc.so:UVC输入组件
-f 30 :表示30帧
-r 1280*720 :分辨率
-y :YUV格式输入(有卡顿),不加表示MJPG输入(需要摄像头支持)
-o "/usr/local/lib/mjpg-streamer/output_http.so -p 8080 -w /usr/local/share/mjpg-streamer/www"
-o 输出
output_http.so :网页输出组件
-w www : 网页输出
-p 8080 :端口 8080
-d 1000 : 时间1S
4.实时视频接收

<!DOCTYPE html>
<html>
<head>
<title>实时视频</title>
<style>
#webcam{
width: 80%;
height: 80%;
display: block;
margin: 10% auto;
text-align: center;
position: relative;
}
#webcam img{
width: 100%;
height: auto;
display: block;
margin: 0 auto;
}
</style>
</head>
<body>
<div id="webcam">
<div>
</div>
</div>
<script type="text/javascript">
var imageNr = 0; // 图片的索引号
var finished = new Array(); // 下载图片的队列
var paused = false; //
function createImageLayer() {
var img = new Image();
img.style.position = "absolute";
img.style.zIndex = -1;
img.onload = imageOnload;
img.onclick = imageOnclick;
//填你对应的ip和端口
img.src = "http://172.19.8.176:8080/?action=snapshot&n=" + (++imageNr);
var webcam = document.getElementById("webcam");
webcam.insertBefore(img, webcam.firstChild);
}
function imageOnload() {
this.style.zIndex = imageNr;
while (1 < finished.length) {
var del = finished.shift(); // 删除旧照片
del.parentNode.removeChild(del);
}
finished.push(this);
if (!paused) createImageLayer();
}
function imageOnclick() {
paused = !paused;
if (!paused) createImageLayer();
}
createImageLayer()
</script>
</body>
</html>

边栏推荐
猜你喜欢
Nanoprobes金脂质偶联物的相关应用
162_Power Query is a custom function for quickly merging tables in a folder TableXlsxCsv_2.0
OpenHarmony高校技术俱乐部计划发布
Nanoprobes 金纳米颗粒标记试剂丨1.4 nm Nanogold 标记试剂
Zhang Le: The Golden Triangle of R&D Efficiency and Practice in the Field of Demand and Agile Collaboration|Live Review
安全狗《云原生安全威胁分析报告》首次提出双检测模型
网络数据集-骨干网和校园网-IP流量
保健用品行业B2B电子商务系统:供采交易全链路数字化,助推企业管理精细化
secureCRT连接开发板连接不上问题解决
中国菜刀原理与实践
随机推荐
【二叉树】统计最高分的节点数目
Ansible中的角色使用
优思学院|2022年获美质协ASQ和ILSSI奖项的《精益六西格玛的十条戒律》
鸿湖万联扬帆富设备开发板正式合入OpenHarmony主干
安全狗《云原生安全威胁分析报告》首次提出双检测模型
技术分享 | 接口自动化测试如何搞定 json 响应断言?
Petri net-2, directed net
“杀猪盘”宰向环球影城
中国手机品牌争论谁是国内第一,而它已成为中国手机在海外的代表
Golang sync.WaitGroup
typedef关键字的用法
蚁剑加密 WebShell 过杀软
数据科学家 Agnis Liukis :在ML领域,初学者踩过的5个坑
为什么手动启动GBase 8c数据库中GTM节点
IDO代币预售dapp开发及NFT模式
冰蝎加密 WebShell 过杀软
工作流自动化,低代码是解决关键
爬虫——代理搭建、爬取视频网站、爬取新闻、BeautifulSoup4介绍、bs4 遍历文档树、bs4搜索文档树、bs4使用选择器
petri网-1、概论
函数在结构体中的应用练习