精华内容
下载资源
问答
  • 树莓派 摄像头 VLC实时监控

    万次阅读 2017-12-10 17:32:12
    这两天在捣鼓树莓派摄像头通过电脑实时监控,有一枚官方鱼眼摄像头,本来是打算实现在任何网络中都可以直接访问,看网上很多教程都是VLC,于是就按照教程来,后来发现VLC只能在局域网中,那就先局域网吧。...

    这两天在捣鼓树莓派摄像头通过电脑实时监控,有一枚官方鱼眼摄像头,本来是打算实现在任何网络中都可以直接访问,看网上很多教程都是VLC,于是就按照教程来,后来发现VLC只能在局域网中,那就先局域网吧。

    网上教程很简单:

    1、在树莓派上输入如下命令行:

    sudo apt-get update
    sudo apt-get install vlc
    sudo raspivid -o - -t 0 -w 640 -h 360 -fps 25|cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8090}' :demux=h264

    第一行是更新软件数据库

    第二行是安装vlc

    第三行是使用PI官方的raspivid捕获视频工具把视频流输出到vlc,通过vlc转码成h264网络视频流通过http协议以ts的形式封装,然后输出到8090端口,用这个当监控只要网络稳定绝对不卡。


    2、在电脑或者手机上下载VLC客户端(可去官网下载)输入上述命令后打开客户端--》媒体--》网络串流--》如下图输入  //树莓派IP:8090



    按以上步骤操作就好了。可是,我搞了三天才搞出来。之前也是按照上述步骤来的,结果只在树莓派显示器上有图像,VLC打不开。各种办法都试了是在不知道为什么,后来就想着别再树莓派上输入了,用putty在电脑上输入试试,结果竟然可以了,输入的内容都是一样的。到时候突然想起来,我用键盘在树莓派上输入单引号时按了两次,会不会这个原因?最后发现果然。需要在树莓派上更改键盘设置104键 美国键盘,相关教程可百度。设置完重启一下,一切正常。哎,一点小细节,教训是惨痛的,浪费这么长时间。

    展开全文
  • 使用Python和OpenCV实现树莓派/PC实时摄像头数据共享,主要分为服务器和客户端两部分。服务器Demo如下:#服务器端import socketimport threadingimport structimport timeimport cv2import numpyclass Carame_Accept...

    使用Python和OpenCV实现树莓派/PC实时摄像头数据共享,主要分为服务器和客户端两部分。

    服务器Demo如下:

    #服务器端

    import socket

    import threading

    import struct

    import time

    import cv2

    import numpy

    class Carame_Accept_Object:

    def __init__(self,S_addr_port=("",8880)):

    self.resolution=(640,480) #分辨率

    self.img_fps=15 #每秒传输多少帧数

    self.addr_port=S_addr_port

    self.Set_Socket(self.addr_port)

    #设置套接字

    def Set_Socket(self,S_addr_port):

    self.server=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

    self.server.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) #端口可复用

    self.server.bind(S_addr_port)

    self.server.listen(5)

    #print("the process work in the port:%d" % S_addr_port[1])

    def check_option(object,client):

    #按格式解码,确定帧数和分辨率

    info=struct.unpack('lhh',client.recv(8))

    if info[0]>888:

    object.img_fps=int(info[0])-888 #获取帧数

    object.resolution=list(object.resolution)

    # 获取分辨率

    object.resolution[0]=info[1]

    object.resolution[1]=info[2]

    object.resolution = tuple(object.resolution)

    return 1

    else:

    return 0

    def RT_Image(object,client,D_addr):

    if(check_option(object,client)==0):

    return

    camera=cv2.VideoCapture(0) #从摄像头中获取视频

    img_param=[int(cv2.IMWRITE_JPEG_QUALITY),object.img_fps] #设置传送图像格式、帧数

    while(1):

    time.sleep(0.1) #推迟线程运行0.1s

    _,object.img=camera.read() #读取视频每一帧

    object.img=cv2.resize(object.img,object.resolution) #按要求调整图像大小(resolution必须为元组)

    _,img_encode=cv2.imencode('.jpg',object.img,img_param) #按格式生成图片

    img_code=numpy.array(img_encode) #转换成矩阵

    object.img_data=img_code.tostring() #生成相应的字符串

    try:

    #按照相应的格式进行打包发送图片

    client.send(struct.pack("lhh",len(object.img_data),object.resolution[0],object.resolution[1])+object.img_data)

    except:

    camera.release() #释放资源

    return

    if __name__ == '__main__':

    camera=Carame_Accept_Object()

    while(1):

    client,D_addr=camera.server.accept()

    clientThread=threading.Thread(None,target=RT_Image,args=(camera,client,D_addr,))

    clientThread.start()

    客户端Demo如下:

    #客户端

    import socket

    import cv2

    import threading

    import struct

    import numpy

    class Camera_Connect_Object:

    def __init__(self,D_addr_port=["",8880]):

    self.resolution=[640,480]

    self.addr_port=D_addr_port

    self.src=888+15 #双方确定传输帧数,(888)为校验值

    self.interval=0 #图片播放时间间隔

    self.img_fps=100 #每秒传输多少帧数

    def Set_socket(self):

    self.client=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

    self.client.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)

    def Socket_Connect(self):

    self.Set_socket()

    self.client.connect(self.addr_port)

    print("IP is %s:%d" % (self.addr_port[0],self.addr_port[1]))

    def RT_Image(self):

    #按照格式打包发送帧数和分辨率

    self.name=self.addr_port[0]+" Camera"

    self.client.send(struct.pack("lhh", self.src, self.resolution[0], self.resolution[1]))

    while(1):

    info=struct.unpack("lhh",self.client.recv(8))

    buf_size=info[0] #获取读的图片总长度

    if buf_size:

    try:

    self.buf=b"" #代表bytes类型

    temp_buf=self.buf

    while(buf_size): #读取每一张图片的长度

    temp_buf=self.client.recv(buf_size)

    buf_size-=len(temp_buf)

    self.buf+=temp_buf #获取图片

    data = numpy.fromstring(self.buf, dtype='uint8') #按uint8转换为图像矩阵

    self.image = cv2.imdecode(data, 1) #图像解码

    gray = cv2.cvtColor(self.image, cv2.COLOR_BGR2GRAY)

    cv2.imshow(self.name, self.image) #展示图片

    except:

    pass;

    finally:

    if(cv2.waitKey(10)==27): #每10ms刷新一次图片,按‘ESC’(27)退出

    self.client.close()

    cv2.destroyAllWindows()

    break

    def Get_Data(self,interval):

    showThread=threading.Thread(target=self.RT_Image)

    showThread.start()

    if __name__ == '__main__':

    camera=Camera_Connect_Object()

    camera.addr_port[0]=input("Please input IP:")

    camera.addr_port=tuple(camera.addr_port)

    camera.Socket_Connect()

    camera.Get_Data(camera.interval)

    运行效果还是比较流畅的,因为传输网络视频流,所以画质欠佳。

    3336b3781300b8f500686688c9076104.png

    本文分享 CSDN - 不脱发的程序猿。

    如有侵权,请联系 support@oschina.cn 删除。

    本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

    展开全文
  • 基于树莓派的专用摄像头实时监控

    千次阅读 2017-05-31 16:37:00
    安装树莓派摄像头模块 1、找到 CSI 接口(CSI接口在以太网接口旁边),掀起深色胶带。 2、拉起 CSI 接口挡板。 3、拿起你的摄像头模块,将贴在镜头上的塑料保护膜撕掉。确保黄色部分的PCB(有字的一面)是安装完美的...

    环境:

    • 硬件:树莓派三代B型, 5MP Camera Board Module
    • 软件:Raspbian

    • 安装树莓派摄像头模块

      1、找到 CSI 接口(CSI接口在以太网接口旁边),掀起深色胶带。

      2、拉起 CSI 接口挡板。

      3、拿起你的摄像头模块,将贴在镜头上的塑料保护膜撕掉。确保黄色部分的PCB(有字的一面)是安装完美的(可以轻轻按一下黄色的部分来保证安装完美)。

      4、将排线插入CSI接口。记住,有蓝色胶带的一面应该面向以太网接口方向。同样,这时也确认一下排线安装好了之后,将挡板拉下。

           

    • 在树莓派上启用摄像头模块

      在安装完摄像头模块之后,首先要确认你已经升级了树莓派系统并应用了最新的固件。可以输入以下命令来操作:

    •    $ sudo apt-get update
         $ sudo apt-get upgrade

       

    • 运行树莓派配置工具来激活摄像头模块:

    • $ sudo raspi-config



       

       移动光标至菜单中的 "Enable Camera(启用摄像头)",将其设为Enable(启用状态)。完成之后重启树莓派。

          

    • 在树莓派上安装vlc服务端并运行

    •  

         $ sudo apt-get install vlc
      
         $ sudo raspivid -o - -t 0 -w 640 -h 360 -fps 25|cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8090}' :demux=h264 

       

      在电脑端,无论是Windows,Linux还是OSX,或者安卓机器,只要能安装VLC,现在就可以打开VLC,然后打开媒体-》网络串流-》输入http://PI的IP地址:8090查看实时不卡的网络监控了。

    转载于:https://www.cnblogs.com/huan14/p/6924858.html

    展开全文
  • 基于树莓派csi摄像头实时监控

    千次阅读 2019-09-15 11:01:17
    基于树莓派csi摄像头实时监控 今天我们来实现一下如何利用csi摄像头树莓派上实现实时监控,以下是我们需要准备的材料: 本次操作使用putty和vnc在win实现远程操控 一、材料: 1、一个烧好Linux系统的树莓派...

    基于树莓派csi摄像头的实时监控

    今天我们来实现一下如何利用csi摄像头在树莓派上实现实时监控,以下是我们需要准备的材料: 本次操作使用putty和vnc在win实现远程操控

    一、材料:

          1、一个烧好Linux系统的树莓派(这里使用3b+)
          2、一个csi摄像头
    

    二、实现步骤

    如果是刚烧好的树莓派请做好以下工作:
    1、将树莓派的更新资源换成国内资源
    终端分别输入:sudo nano /etc/apt/sources.list
    在最后添加:(把之前的用#注释掉

    deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
    
    deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
    

    sudo nano /etc/apt/sources.list.d/raspi.list
    在最后添加:(把之前的用#注释掉)

    deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
    
    deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
    

    如图

    在这里插入图片描述
    在这里插入图片描述
    2、更新系统
    在终端输入:sudo apt-get updatesudo apt-get upgrade
    完成以上工作就可以开始下载我们需要的软件了

    第一步:下载并运行 motion

    终端输入指令:sudo apt-get install motion
    运行:sudo motion

    第二步:摄像配置

    1、输入sudo nano /etc/motion/motion.conf
    操作:
    #daemon off 改成 daemon on

    设置分辨率(这里根据实际情况调节)

    width 800
    height 600

    关闭 localhost 的限制

    stream_localhost off
    webcontrol_localhost off

    如图
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    第三步:开机启动

    终端输入:sudo nano /etc/default/motion
    操作:将no修改成yes(start_motion_daemon=yes)

    如图

    在这里插入图片描述

    在这里插入图片描述

    第四步:测试及效果

    在树莓派的网页输入:本机IP或IP:8081(http://)

    如图

    在这里插入图片描述

    展开全文
  • 树莓派3实时监控系统

    千次阅读 2018-06-15 16:27:10
    硬件准备:1:树莓派3B...点击打开链接实时监控安装:划重点!敲黑板!(要的是流畅!要的是实时!强烈推荐MJPG-streamer)首先确认是否已经开启树莓派摄像头权限。(不能用ssh)具体方法:ls -al /dev/ | grep...
  • 树莓派摄像头测试

    2020-04-08 13:56:49
    一、树莓派摄像头安装和使用 使用usb摄像头进行实时监控步骤: **1.安装motion程序 $ sudo apt-get install motion 2.配置motion程序 sudo vim /etc/default/motion 把no改成yes,开启motion的daemon一直检测设备。 ...
  • 树莓派+摄像头实现实时监控

    千次阅读 2020-07-30 09:49:39
    一、安装摄像头并测试 1.断电安装摄像头,且不可热插拔,否则摄像头会损坏 2.更新固件 sudo apt update sudo apt upgrade 3.检测摄像头是否安装成功 vcgencmd get_camera 返回1表示成功 4.终端拍摄照片 raspistill -...
  • 安装树莓派摄像头模块方法

    千次阅读 2018-06-12 23:11:01
    基于树莓派的专用摄像头实时监控环境:硬件:树莓派三代B型, 5MP Camera Board Module软件:Raspbian安装树莓派摄像头模块1、找到 CSI 接口(CSI接口在以太网接口旁边),掀起深色胶带。2、拉起 CSI 接口挡板。3、拿起...
  • 下载到树莓派 wgethttps://github.com/jacksonliam/mjpg-streamer/archive/master.zip 总体步骤: 1.安装辅助工具 2.解压master,zip 3.编辑源文件 4.编译mjpg软件 5.制作mjpg的启动脚本 6.执行mjpg的启动脚本...
  • 树莓派摄像头(通用)的多种使用方法1.摄像头的安装和使能2.使用摄像头拍照3.使用摄像头拍一段视频4.使用摄像头通过网页访问实时监控1)下载motion工具:2)配置图像传输的参数和访问密码3)重启树莓派并且启动...
  • 树莓派摄像头监控相关

    千次阅读 2014-11-14 21:17:27
    树莓派中使用usb摄像头截图以及进行网页端的实时监控
  • 首先 看效果 先是安装 一个小工具 叫 fswebcam sudo apt-get install fswebcam安装好了就可以拍照 实时监控了拍照 使用 (树莓派上) fswebcam 10 test.jpg执行后会 延时10帧 拍摄 (给个准备时间)产生 一张 名称为 ...
  • 树莓派Raspberry Pi 4b+实现摄像头拍照和实时监控硬件设备摄像头测试方案A motion效果展示方案B 硬件设备 1、树莓派4b+ 2、树莓派自带摄像头模块(CSI接口)(分辨率2592*1944) 摄像头测试 sudo vcgencmd get_...
  • 树莓派 USB摄像头 实现网络监控( MJPG-Streamer)

    万次阅读 多人点赞 2019-03-09 14:59:26
    1.2检查是否存在USB摄像头设备 2 .安装MJPG-Streamer 3.启动MJPG-Streamer 3.1 输入以下命令 3.2参数说明: 4.实时视频接收 MJPG简介:  MJPG是MJPEG的缩写,但是MJPEG还可以表示文件格式扩展名.  MJPEG...
  • /*本文系湛江市第十七中学星火创客团队及岭南师范学院物联网俱乐部原创部分...但是,前通过Shodan搜索实现网络摄像头入侵、字典破解用户操作平台密码甚至是直接入侵监控制造商服务器等等方式爆破网络摄像头的事例已比
  • 欢迎来访交流 ~~首先 看效果先是安装 一个小工具 叫 fswebcamsudo apt-get install fswebcam安装好了就可以拍照 实时监控了拍照 使用 (树莓派上)fswebcam 10 test.jpg执行后会 延时10帧 拍摄 (给个准备时间)产生...
  • 欢迎来访交流 ~~ 首先 看效果 先是安装 一个小工具 叫 fswebcam ...安装好了就可以拍照 实时监控了 拍照 使用 (树莓派上) fswebcam 10 test.jpg 执行后会 延时10帧 拍摄 (给个准备时间)产生...

空空如也

空空如也

1 2 3 4
收藏数 76
精华内容 30
关键字:

树莓派摄像头实时监控