最新消息:重新回归WordPress,我要比较认真的开始更新我的博客了。

树莓派上安装使用mjpeg-streamer

笔记 hanlei 1954浏览

原因及目标

树莓派安装了octoprint作3D打印机的上位机,octoprint中有延时摄影功能默认用的就是mjppeg-streamer。但是非镜像安装需要手动安装mjpeg-streamer。

安装使用

1、安装依赖项:

sudo apt-get install subversion libv4l-dev cmake libjpeg8-dev imagemagick fswebcam
//sudo apt-get install libv4l-dev libjpeg8-dev imagemagick

2、安装mjpg-streamer

pi@raspberrypi:~ $ sudo apt-get install cmake libjpeg8-dev
pi@raspberrypi:~ $ wget https://github.com/jacksonliam/mjpg-streamer/archive/master.zip
pi@raspberrypi:~ $  unzip master.zip
pi@raspberrypi:~ $ cd mjp*g-*
pi@raspberrypi:~/mjpg-streamer-master $ cd mjpg-*
pi@raspberrypi:~/mjpg-streamer-master/mjpg-streamer-experimental $ make
pi@raspberrypi:~/mjpg-streamer-master/mjpg-streamer-experimentalsudo make install 
pi@raspberrypi:~/mjpg-streamer-master/mjpg-streamer-experimental cd $home
pi@raspberrypi:~ $ 

一路没报错 就安好了
下面我们先来分析一下mjpg_streamer这个功能的结构:
Mjpg_streamer.c / 主程序主要运行如下几个部分 /
input_init(); / 输入相关的初始化 /
output_init(); / 输出相关的初始化 /
input_run(); / 运行输入函数,采集输入数据/
output_run(); / 输出初函数,把数据收集起来通过网络socket发送出去 /

3、启动 MJPG-Streamer

pi@raspberrypi: ~ $ /usr/local/bin/mjpg_streamer -i "/usr/local/lib/mjpg-streamer/input_uvc.so -n -f 30 -r 1280x720" -o "/usr/local/lib/mjpg-streamer/output_http.so -p 8080 -w /usr/local/share/mjpg-streamer/www"

pi@raspberrypi: ~ $ mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 1920x1080" -o "output_http.so -p 8090 -w www"

//参数说明
-i “/usr/local/lib/mjpg-streamer/input_uvc.so -n -f 30 -r 1280×720”
-i 输入
input_uvc.so:UVC输入组件
-f 30 :表示30帧
-r 1280*720 :分辨率
-y :YUV格式输入(有卡顿),不加表示MJPG输入(需要摄像头支持)


-o “/usr/local/lib/mjpg-streamer/output_http.so -p 8080 -w /usr/local/share/mjpg-streamer/www”
-o 输出
output_http.so :网页输出组件
-w www : 网页输出
-p 8080 :端口 8080
-d 1000 : 时间1S

4、获取视频和图片

//获取截图
http://192.168.20.164:8080/?action=snapshot
//获取视频流
http://192.168.20.164:8080/?action=stream

其他

获取摄像头支持的分辨率

//1.使用ffmpeg
ffmpeg -f video4linux2 -list_formats all -i /dev/video0

//2.使用v4l2-ctl
v4l2-ctl --list-formats-ext

//3.使用lsusb
//检查终端中lsusb的输出,以找到描述摄像头的行:
$ lsusb
Bus 001 Device 002: ID 5986:0241 Acer, Inc BisonCam, NB Pro
//然后使用Bus和Device号来获取有关该设备的更多信息:
$ lsusb -s 001:002 -v | egrep "Width|Height"

转载请注明:HANLEI'BLOG » 树莓派上安装使用mjpeg-streamer