美文网首页树莓派玩转树莓派
树莓派上MJPG-streamer安装手顺

树莓派上MJPG-streamer安装手顺

作者: 今後次 | 来源:发表于2017-06-07 14:01 被阅读2217次

    motion和MJPG-streamer异同

    相同点:都是linux系统上监控用的程序。
    不同点:

    • motion通过motion.conf配置文件,可以设定动态感知的动作。比如有宠物进入摄像头范围内,motion自动捕获截图或者视频,然后触发既定的脚本(sh,python等等)。MJPG-streamer好像不能动态感知(存疑)

    • motion比较吃资源,且刷新率设定的不能太高,导致视频不连续。MJPG-streamer就比较流畅。

    • motion安装比较简单,通过apt-get就可以。MJPG-streamer需要下载代码,自己make。当然也得安装必要的依赖包。还好不算很多。

    准备

    • 树莓派 3B(需要提前安装系统和联网)
    • LOGICOOL C270(USB摄像头,请提前测试一下摄像头是否正常)

    注意

    树莓派经常找不到video0,或者摄像头显示在video1。
    现象:执行lsusb的时候,可以看到摄像头的硬件。但是执行ls -l /dev/video*,只能看到video1,却没有video0

    那么进行下面的配置文件修改
    修改/etc/modules成下面的样子

    pi@raspberrypi:~ $ cat /etc/modules
    # /etc/modules: kernel modules to load at boot time.
    #
    # This file contains the names of kernel modules that should be loaded
    # at boot time, one per line. Lines beginning with "#" are ignored.

    i2c-dev
    bcm2835-v4l2

    安装手顺

    更新一下apt-get

    sudo apt-get update
    sudo apt-get upgrade

    安装依赖包

    sudo apt-get install subversion libjpeg-dev imagemagick

    下载源码

    svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer mjpg-streamer

    准备make,移动作业目录

    cd mjpg-streamer

    make

    make

    安装

    sudo make install

    ※好像不执行安装也可以,我没实验。建议走稳妥的办法,还是安装一下吧。

    停止motion

    如果motion 还在启动中的话,先停掉

    sudo service motion stop

    启动MJPG-streamer

    sudo ./mjpg_streamer -i "./input_uvc.so -f 10 -r 320x240 -d /dev/video0 -y -n" -o "./output_http.so -w ./www -p 8080"

    内网访问

    http://192.168.0.7:8080/stream.html

    效果图

    320x240也可以修改为640x480。

    设定外网能够访问

    • 在路由器中设定树莓派的内网IP(我的是192.168.0.7)和外网的IP的绑定


    • 外网IP确定方法
      http://www.cman.jp/network/support/go_access.cgi

    • 使用外网IP访问监控摄像头
      http://此处是外网IP:8080/stream.html
      效果图


      手机4G网络访问效果图

    安全

    • 保险起见,还是设定一下登陆帐号和密码,basic认证一下。

    关掉服务
    一般Ctrl+C就可以,或者执行kill命令

    kill -9 pidof mjpg_streamer]

    重启服务
    跟之前命令比较,多了一个-c userid:password。(帐号密码改为自己想好的)

    sudo ./mjpg_streamer -i "./input_uvc.so -f 10 -r 320x240 -d /dev/video0 -y -n" -o "./output_http.so -w ./www -p 8080 -c userid:password"

    效果图

    启动脚本

    利用脚本执行来启动服务,这样就不用每次在命令行输入一堆内容了。省事!
    创建目录

    cd ~
    mkdir tool
    cd tool

    做成启动sh

    vi ./stream.sh

    #!/bin/sh

    #This is Web-streaming server start up script.for raspi
    #No warrantly.

    # Config
    PORT="8081"
    ID="basic认证ID" # 需要修改
    PW=basic认证ID密码" # 需要修改
    SIZE="640x480" # 320x240也可以
    F_RATE="15"
    MJPG_STREAMER=/usr/local/bin/mjpg_streamer

    export LD_LIBRARY_PATH=/usr/local/lib
    $MJPG_STREAMER
    -i "input_uvc.so -f $F_RATE -r $SIZE -d /dev/video0 -y"
    -o "output_http.so -w /usr/local/www -p $PORT -c $ID:$PW" -b

    执行脚本

    sh /home/pi/tool/stream.sh

    加入自启动中

    # Print the IP address
    _IP=$(hostname -I) || true
    if [ "$_IP" ]; then
    printf "My IP address is %s\n" "$_IP"
    fi
    #以下两行是新追加内容
    # MJPG Streamer Start
    sh /home/pi/tool/stream.sh

    exit 0

    其他

    • 删除不用的代码文件夹

    rm -r ~/mjpg-streamer/

    相关文章

      网友评论

        本文标题:树莓派上MJPG-streamer安装手顺

        本文链接:https://www.haomeiwen.com/subject/eigofxtx.html