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界面(如下图)

原文地址:https://www.cnblogs.com/wxiaote/p/10951519.html