在基于Web的视频监控解决方案通过开源软件ZoneMinder实现,通过Web访问的关键在于mjpg-streamer,因为它可以通过HTTP方式访问Linux UVC兼容摄像头。本文对mjpg_streamer命令使用方式和输出方式进行详细分析。


mjpg-streamer 采用插件的形势来完成相关的功能,主程序为 mjpg-streamer, 插件分输入和输出两大类,输入即取视频的方式,输出即将内容转出的方式。

其中输入包含input_file, input_uvc, input_http, input_opencv, input_raspicam, input_ptp2。而输出包含 output_http, output_file, output_udp,output_rtsp,output_viewer几种方式。


程序下载:https://sourceforge.net/projects/mjpg-streamer/


mjpg_streamer的作用是从摄像头采集图像,并把他们已流的形式,通过基于IP的网络传输到浏览器端,例如火狐浏览器。在分析其源码过程中发现,其主要围绕Linux的V4L2接口展开,我们下面在命令行中将要用到的输出插件分为input-plugins、output-plugins、output_file几种,其他插件类型并不常用,这里就不再深入举例介绍。


命令格式说明

mjpg-streamer -i "input_uvc.so --help"   -- 关于这个输入插件的使用说明

image.png

mjpg-streamer -o "output_http.so --help" -- 指定输出的参数说明。