友情提示:380元/半年,儿童学编程,就上码丁实验室。
概要
- "MJPG-streamer",是用于从webcam摄像头采集图像,把他们以流的形式通过基于ip的网络传输到浏览器如Firehox,Cambozola,VLC播放器,Windows的移动设备或者其他拥有浏览器的移动设备。她可以利用某些webcams的硬件压缩功能来降低服务器CPU的开销。她为嵌入式设备和一些常规服务器提供了一个轻量且更少CPU消耗的方案,因为她无需为视频帧压缩浪费大量的计算效率(这件事交给硬件了)。例子是:在一个主频200MHz的路由器上(一个例子是cisco经典无线的linkfs
WRT54G路由,其可以运行openWRT(迷你linux系统),主频200MHz,4MRAM,16Flash),流编码一个960×720像素的视频,她可以减少10%的cpu使用。 - 官网,https://sourceforge.net/projects/mjpg-streamer/
- 官网,https://github.com/jacksonliam/mjpg-streamer
依赖软件
- libjpeg8
- cmake
安装
- 安装依赖库
安装libjpeg的dev版本(注:下面所有安装过程中出现是否继续时,统一选择继续:Yes)
sudo apt-get install libjpeg8-dev
- 下载mjpg-streamer
wget https://codeload.github.com/jacksonliam/mjpg-streamer/zip/master
mv master mjpg-streamer-master.zip
或者直接到网站下载zip安装包mjpg-streamer-master.zip,使用unzip mjpg-streamer-master.zip解压
- 编译mjpg-streamer
-
安装cmake
sudo apt-get install cmake
-
切换到mjpg的路径下
cd ~/mjpg-streamer-master/mjpg-streamer-experimental
sudo make clean all
-
安装mjpg-streamer
sudo cp mjpg_streamer /usr/local/bin
sudo cp output_http.so input_uvc.so /usr/local/lib/
sudo cp -R www /usr/local/www
用法介绍
pi@raspberrypi:~ $ mjpg_streamer --help
-----------------------------------------------------------------------
Usage: mjpg_streamer
-i | --input "<input-plugin.so> [parameters]"
-o | --output "<output-plugin.so> [parameters]"
[-h | --help ]........: display this help
[-v | --version ].....: display version information
[-b | --background]...: fork to the background, daemon mode
-----------------------------------------------------------------------
Example #1:
To open an UVC webcam "/dev/video1" and stream it via HTTP:
mjpg_streamer -i "input_uvc.so -d /dev/video1" -o "output_http.so"
-----------------------------------------------------------------------
Example #2:
To open an UVC webcam and stream via HTTP port 8090:
mjpg_streamer -i "input_uvc.so" -o "output_http.so -p 8090"
-----------------------------------------------------------------------
Example #3:
To get help for a certain input plugin:
mjpg_streamer -i "input_uvc.so --help"
-----------------------------------------------------------------------
In case the modules (=plugins) can not be found:
* Set the default search path for the modules with:
export LD_LIBRARY_PATH=/path/to/plugins,
* or put the plugins into the "/lib/" or "/usr/lib" folder,
* or instead of just providing the plugin file name, use a complete
path and filename:
mjpg_streamer -i "/path/to/modules/input_uvc.so"
-----------------------------------------------------------------------
启动mjpg_streamer
-
方法1
LD_LIBRARY_PATH=/usr/local/lib mjpg_streamer -i "input_uvc.so" -o "output_http.so -w /usr/local/www"
-
方法2
LD_LIBRARY_PATH=/usr/local/lib mjpg_streamer -i "./input_uvc.so -d /dev/video0 -r 320*240 -f 12" -o " ./output_http.so –p 8090 –w /usr/local/www "
-
方法3
或者添加到path路径export LD_LIBRARY_PATH=/opt/mjpg-streamer/
(-r后是分辨率参数,-f后面是帧率,请根据您的摄像头参数进行调整)8090可以自己定义
查看效果
在浏览器http://:8080 打开监控界面