当前位置: 首页 > article >正文

树莓派安装MJPG-streamer

文章目录

  • 一、简介
    • 1.MJPG-streamer方案的实现
    • 2.JPEG,MJPG格式简介
  • 二、测试USB摄像头
    • 1.开启摄像头服务
    • 2.显示USB设备
    • 3.查看设备文件
  • 三、安装
    • 1.更新源
    • 2.安装必要的库
    • 3.下载安装文件
    • 4.编译
    • 5.编译安装
  • 四、启动摄像头
    • 1.开启摄像头
    • 2.查看视频
  • 五、设置为开机自启
    • 1.创建一个服务
    • 2.修改服务
    • 3.设置服务开机自启
  • 添加脚本自启
    • 1.创建一个脚本文件
    • 2.添加内容
    • 3.给脚本文件添加权限
    • 4.测试一下脚本
    • 5.给脚本添加为开机自启
  • 参考文档

给大家介绍一种可以运行在低性能的板子上做视频传输的工具。

一、简介

1.MJPG-streamer方案的实现

优点:
程序简单,所有源码一目了然,便于学习
对ARM板的性能要求不高,主频200MHZ的ARM芯片也能实现
缺点:
实现局域网内的视频监控
要实现互联网视频监控,需要另外实现内网穿透
Mjpg-streamer没有实现声音传输
Mjpg-stream项目已经不再维护,仅仅建议用于学习

2.JPEG,MJPG格式简介

JPEG:简称jpg
一个像素的颜色可以用RGB三原色来表示,其实还可以用YUV格式表示
使用RGB,YUV格式编码照片,文件都很大,比如BMP文件就是用RGB编码
把一个BMP文件转换为JPEG文件,可以发现图片质量没发生变化,但是文件变小了很多
JPEG是根据人体视觉的特点采用了YCbCr格式,大大压缩了照片的大小

MJPG
JPEG是静态图片的编码格式,MJPG是动态的视频编码格式
可以简单理解:MJPG就是把多个JPEG图片连续显示出来
MJPG的优点
很多摄像头本身就支持JPEG,MJPG,所以处理器不要太多处理
MJPG的缺点
MJPG只是多个JPEG图片的组合,它补考虑前后两帧的数据变化,总是传输一帧帧图像:传输带宽要求高
H264等视频格式,会考虑前后两帧的数据变化,只传输变化的数据:传输带宽要求低

二、测试USB摄像头

1.开启摄像头服务

sudo raspi_config,Enable Camera

2.显示USB设备

Lsusb  显示当前的usb设备

在这里插入图片描述

可以拔掉摄像头再试一下
消息的那个就是摄像头设备

3.查看设备文件

 ls /dev/video*  查看设备文件

在这里插入图片描述

三、安装

1.更新源

sudo apt-get update

2.安装必要的库

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

3.下载安装文件

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

在这里插入图片描述

查看

在这里插入图片描述

4.编译

sudo make all

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

5.编译安装

sudo make install

在这里插入图片描述

四、启动摄像头

1.开启摄像头

./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"

在这里插入图片描述

注意:报错不影响

2.查看视频

打开浏览器,输入树莓派IP地址或用本地ip地址也是一样

IP地址:
在这里插入图片描述
本地地址:
在这里插入图片描述

五、设置为开机自启

1.创建一个服务

因为这个安装之后本身带有一个服务,直接复制即可。

sudo cp mjpg-streamer/mjpg-streamer-experimental/mjpg_streamer@.service /etc/systemd/system

2.修改服务

因为这个自带的服务路径不是合适的,需要我们修改

sudo nano /etc/systemd/system/mjpg_streamer@.service 

在这里插入图片描述
在这里插入图片描述
将这两个路径换一下。

3.设置服务开机自启

sudo systemctl enable mjpg_streamer@.service 

在这里插入图片描述
如果这个方法不行,请用下面的脚本自启。

添加脚本自启

1.创建一个脚本文件

sudo nano mjpg-streamer/mjpgservice.sh

在这里插入图片描述

2.添加内容

#!/bin/sh
cd /home/pi/mjpg-streamer/mjpg-streamer-experimental
./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"

在这里插入图片描述

3.给脚本文件添加权限

sudo chmod 777 mjpg-streamer/mjpgservice.sh 

在这里插入图片描述

4.测试一下脚本

sh mjpg-streamer/mjpgservice.sh 

在这里插入图片描述
脚本执行成功

5.给脚本添加为开机自启

sudo nano /etc/systemd/system/mjpg_streamer1.service 

添加内容

[Unit]
Description = test deamon
After = rc-local.service[Service]
Type = simple
User = root
Group = rootExecStart = /home/pi/mjpg-streamer/mjpgservice.sh
Restart = always[Install]
WantedBy = multi-user.target

在这里插入图片描述

设置服务为开机自启

sudo systemctl enable mjpg_streamer1.service 

在这里插入图片描述
重启。
设置为自动启动成功
在这里插入图片描述

参考文档

安装MJPG

http://www.lryc.cn/news/2419698.html

相关文章:

  • GALGAME文字提取agth 特殊码大全(特殊码表)和使用方法
  • delphi中使用MSWINSCK.OCX控件
  • 私库如何区分正式和测试环境独立的库
  • md5值是什么意思_详解:PER?霍林格效率值?这个最火的高阶数据究竟是什么意思?...
  • 正在载入中......loading页面的几种方法
  • c++求矩阵的秩_Matlab:矩阵的秩,简化梯形矩阵和线性方程组
  • 【C语言】:static和extern的详细介绍和使用
  • softcore -- CPU rasterization
  • xp序列号大全可通过正版验证的XP序列号发布
  • SolrIK分词器-简单介绍与安装
  • MouseArea组件和MouseEvent事件在Qt中是经常使用的重要组件和事件。本文将详细介绍MouseArea组件和MouseEvent事件的用法,并提供...
  • TTYL的完整形式是什么?
  • mongo执行命令: not authorized on admin to execute command
  • 【渝粤教育】电大中专电商运营实操12作业 题库
  • nbtscan局域网扫描的原理
  • VS各个版本之间2005、08、10、12...转换
  • NumberFormat类
  • WritePrivateProfileString() 用法
  • 新发的日常小实验——使用IETester测试不同IE版本的浏览器,测试网页JS的兼容性(console未定义兼容测试)
  • cpio命令的常用方法
  • stm32串口反相输出 SP3232输出反相解决办法
  • FindWindowEx 遍历所有窗口
  • AV1编码各种浏览的版本支持
  • 网安概论(三)
  • 85m gamer主板acpi驱动_关于网卡驱动的问题
  • Python实现经典吃豆豆游戏教程:重温童年经典,学习Python游戏开发,附带完整源码
  • Android使用bit.ly的api获取url 短连接
  • 转贴--理解LPCTSTR
  • 什么是UBB
  • 机器学习----决策树分析