MJPG-streamer是一款免费基于IP地址的视频流服务器,它的输入插件从摄像头读取视频数据,这个输入插件产生视频数据并将视频数据复制到内存中,,其中最重要的输出插件是网站服务器插件,它将视频数据传送到用户浏览器中
(1)input_testpicture.so。这是一个图像测试插件,它将预设好的图像编译成一个头文件,可以在没有摄像头的情况下传输图像,从而方便调试程序。
(2)input_uvc.so。此文件调用USB摄像头驱动程序V4L2,从摄像头读取视频数据。
(3)input_control.so。这个文件实现对摄像头转动的控制接口。
(4)output_http.so。这是一个功能齐全的网站服务器,它不仅可以从单一文件夹中处理文件,还可以执行一定的命令,它可以从输入插件中处理一幅图像,也可以将输入插件的视频文件根据现有M-JPEG标准以HTTP视频数据服务流形式输出。
(5)output_file.so。这个插件的功能是将输入插件的JPEG图像存储到特定的文件夹下,它可以用来抓取图像
应用:采集usb摄像头--》网络获取视频、抓图,测试图像功能
准备工作:移植依赖:MJPG-streamer依赖于jpeg库,需要移植 libjpeg
配置内核加入摄像头驱动:
Kernel modules --->Video Support --->kmod-video-core
--->kmod-video-uvc
配置内核加入MJPEG视频流
Multimedia --->mjpg-streamer
重新编译,烧写镜像
命令参数:
mjpg_streamer -i "input_uvc.so -d /dev/video0 -n -y -r 320x240 -f 30" -o "output_http.so -p 8080"
mjpg_streamer -i "input_uvc.so -d /dev/video0 -n -y -r 640x480 -f 30" -o "output_http.so -p 8080
mjpg_streamer -i "input_uvc.so -f 10 -r 320*240 -y" -o "output_http.so -c "ruoyun:liufeng" -w www -p 8888" -o "output_file.so -d 1000 -f /mnt "
-i输入
"input_uvc.so -f 10 -r 320*240 -y" input_uvc.so:UVC输入组件
-f 10 十帧
-r 320*240分辨率
-y :YUV格式输入(有卡顿),不加表示MJPG输入(需要摄像头支持)
-o输出
"output_http.so -c "ruoyun:liufeng" -w www -p 8888"
output_http.so :网页输出组件
-c "ruoyun:liufeng" :用户名:ruoyun 密码:liufeng
-w www : 网页输出
-p 8888 :端口 8888
"output_file.so -d 1000 -f /mnt "
output_file.so :图片输出组件
-d 1000 : 时间1S
-f /mnt :输出图片放在哪
http://192.168.1.1:8080/?action=stream ,应该能看到摄像头抓取的视频。
动态视频:192.168.1.1:8080/?action=stream
静态图像:192.168.1.1:8080/?action=snapshot