树莓派配置mjpg视频流
安装依赖库
sudo apt-get install libjpeg62-dev
sudo apt-get install libjpeg8-dev
在github上找到源码并下载,进入安装包
源码地址https://sourceforge.net/projects/mjpg-streamer/
github地址https://github.com/codewithpassion/mjpg-streamer
如果相机的输出格式是YUYV,需要进行更改
进入安装包
使用nano指令,或TextEditor打开mjpg-streamer-experimental/plugins/input_uvc/input_uvc.c这个文件,找到input_init函数,修改
format = V4L2_PIX_FMT_MJPEG
为
format = V4L2_PIX_FMT_YUYV
编译、部署mjpg-streamer项目
sudo apt-get install cmake
cd /home/pi/Downloads/mjpg-streamer-master/mjpg-streamer-experimental
sudo make clean all
编译完成后,复制相关文件到指定目录
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
使用指令来启动视频组件
LD_LIBRARY_PATH=/usr/local/lib mjpg_streamer -i "input_uvc.so -r 320x240 -f 12" -o "output_http.so -p 12001 -w /usr/local/www"
mjpg常见报错解决
检查摄像头是否连上
系统默认连接 /dev/video0
,有可能出现设备自动将连接的摄像头分配到video1
的情况,这时候只要在-r 320x240
前加上-d /dev/video[num]
就可以指定相机设备,如
LD_LIBRARY_PATH=/usr/local/lib mjpg_streamer -i "input_uvc.so -d /dev/video2 -r 320x240 -f 12" -o "output_http.so -p 12001 -w /usr/local/www"
相机不支持mjpg格式输出
参考之前如何修改设置
以上修改完成仍然打不开
相机一次只能被一个程序调用,检查相机是否正在被其他程序使用
设置端口号
-p [port number]
设置分辨率
-r [width]x[height]
设置帧率
-f [fps]