树莓派CSI/USB摄像头使用mjpg实现网页摄像头监控

本文是整理内容方便自己使用,原文:

1、https://blog.csdn.net/qq_36798753/article/details/78082006

2、https://blog.csdn.net/wto882dim/article/details/82195001

第一步:下载源码

wget https://github.com/jacksonliam/mjpg-streamer/archive/master.zip

第二步:下载相关依赖包

sudo apt-get install libjpeg8-dev

sudo apt-get install cmake

第三步:解压+安装

unzip master.zip

cd mjpg-streamer-master/mjpg-streamer-experimental

make clean all

第四步:制作启动脚本

1、进入mjpg主目录下

2、创建启动脚本

vi jk.sh

3、编辑jk.sh

若是使用CSI摄像头

cd mjpg-streamer-master/mjpg-streamer-experimental
./mjpg_streamer -i "./input_raspicam.so" -o "./output_http.so -w ./www"

若是使用USB摄像头

cd mjpg-streamer-master/mjpg-streamer-experimental
./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"

4、给jk.sh加权限

chmod 744 jk.sh

第五步:执行脚本

./jk.sh

 若是想后台运行可以使用以下命令

nohup ./jk.sh &

启动之后就可以在同一局域网浏览器上输入默认地址查看

http://树莓派IP:8080

这里可以自己写一个html网页,查看视频,代码如下

<!DOCTYPE html>
<html>
<head>
<title>实时视频</title>
<style>
     #webcam{
          width: 60%;
          height: 60%;
          display: block;
          margin: 0% ;
          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://192.168.0.117: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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值