zoukankan      html  css  js  c++  java
  • mjpg-stream 视频服务 (1)| 简介与配置树莓派使用

          源码地址为:https://github.com/jacksonliam/mjpg-streamer

    Mjpg简介:

          (1)mjpg-streamer是一个命令行应用程序,它将JPEG帧从一个或多个输入插件复制到多个输出插件。它可用于通过基于IP的网络将JPEG文件从网络摄像头流式传输到各种类型的查看器,如Chrome,Firefox,Cambozola,VLC,mplayer和其他能够接收MJPG流的软件。

          (2)它最初是为嵌入式设备编写的,在RAM和CPU方面资源非常有限。其前身“uvc_streamer”的创建是因为Linux-UVC兼容相机直接生成JPEG数据,即使是运行OpenWRT的嵌入式设备,也可以实现快速和流畅的M-JPEG流。输入模块“input_uvc.so”从连接的网络摄像头捕获这样的JPG帧。mjpg-streamer现在支持各种不同的输入设备

     源码树为:

    └─mjpg-streamer
        └─mjpg-streamer-experimental
            ├─cmake
            ├─plugins
            │  ├─input_control
            │  ├─input_file
            │  ├─input_http
            │  ├─input_opencv
            │  │  └─filters
            │  │      ├─cvfilter_cpp
            │  │      └─cvfilter_py
            │  │          └─cmake
            │  ├─input_ptp2
            │  ├─input_raspicam
            │  │  └─mmal
            │  │      ├─core
            │  │      ├─util
            │  │      └─vc
            │  ├─input_testpicture
            │  │  └─pictures
            │  ├─input_uvc
            │  ├─output_autofocus
            │  ├─output_file
            │  │  └─examples
            │  ├─output_http
            │  ├─output_rtsp
            │  ├─output_udp
            │  ├─output_viewer
            │  └─output_zmqserver
            ├─scripts
            └─www

    其中:

    下载后如图所示,主要是  plugins, www, mjpg_streamer.h 头文件跟mjpg_streamer.c源码

    其他都是一些打包方式,让我觉得满意的是有了ros_mjpg ,以及Dockerfile,真的是应用很广。

    解释一下这些文件大概含义:

    plugins目录: 一些usb摄像头的数据采集和传输的功能子函数,主要是input和output方式
    
    www目录:主要是在使用浏览器浏览时,html界面上一些功能。
    
    mjpg-streamer.c & .h:主要实现命令参数的解析及调用相关线程运行功能子函数

    有了上文大概了解,使用也很方便;

    这里,通过Raspberry  3B+ 进行介绍:(暂时使用局域网内进行图像传输,其实后面可以通过配置完成全网可视)

    1.更新树莓派

    sudo apt-get update  && sudo  apt-get  upgrade -y

    更新很快,如果您的镜像使用国可能有点慢-->> 可以跟我一样换成国内镜像。

    2.开启摄像头

    sudo raspi-config    (必须sudo ) 然后选择 ‘5 interfacing options’中的‘camera’然后enable,之后树莓派将重启(需要重启)(步骤如下图)

     3.查看是否配置好摄像头

    ls  /dev

    此命令,通过ls /dev 查外设,若出现 video0  可证明摄像头已经被树莓派检测到

     

    4.安装必要库

    sudo apt-get update
    sudo apt-get install subversion
    sudo apt-get install imagemagick
    sudo apt-get install libv4l-dev
    sudo apt-get install cmake
    sudo apt-get install git

    5.下载开源包

    sudo git clone https://github.com/jacksonliam/mjpg-streamer.git

     6.编译安装

    sudo git clone https://github.com/jacksonliam/mjpg-streamer.git
    make all
    sudo  make install

    编译安装过程可能有一点慢,建议不使用多线程编译,可能出错

    7.运行

    ./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -n -y -f 25 -r 640x480" -o "./output_http.so -n -w /usr/local/www"

    出现上图,可证明已经运行成功

     8.打开网页  浏览器输入‘树莓派的ip:8080’即可进入mjpg-streamer界面(如下图)

  • 相关阅读:
    php使用cookie来保存用户登录信息
    Linux下进程操作
    TortoiseSVN无法编辑日志信息的解决方法
    用DIV布局制作公告板
    HashMap的遍历
    实现文本滚动
    子DIV块中设置margintop时影响父DIV块位置的解决办法
    php使用session来保存用户登录信息
    javascript jquery ajax动态提交多个参数 api测试 拂晓风起
    javascript 处理返回json中的\u中文乱码问题(也不是乱码了,就是\u编码) 拂晓风起
  • 原文地址:https://www.cnblogs.com/wxiaote/p/10951519.html
Copyright © 2011-2022 走看看