0x00
通过树莓派将摄像头推流
推流使用mjpg-streamer组件
我使用的摄像头为树莓派官方的CSI接口摄像头
0x01 安装
1.挂载摄像头(USB摄像头可跳过)
将摄像头插在指定的接口上
进入系统执行
$ sudo raspi-config
找到Camera选项并打开
编辑文件让/dev/video0显示
sudo nano /etc/modules
在文件中添加
snd-bcm2835
bcm2835-v4l2
重启树莓派
2.安装mjpg-streamer
执行命令
sudo apt update
sudo apt upgrade -y
sudo apt install -y git cmake libjpeg62-dev libjpeg8-dev
git clone https://github.com/jacksonliam/mjpg-streamer.git
由于市面上大部分摄像头是YUYV格式输出,所以要修改mjpg-streamer项目的代码文件,让其默认支持此格式的摄像头。
打开mjpg-streamer-experimental/plugins/input_uvc/input_uvc.c
并找到format = V4L2_PIX_FMT_MJPEG
将其改为format = V4L2_PIX_FMT_YUYV
编译、部署
cd 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
0x02 启动
使用命令启动
LD_LIBRARY_PATH=/usr/local/lib mjpg_streamer -i "input_uvc.so -r 640x480 -f 12" -o "output_http.so -p 4321 -w /usr/local/www"
其中-r 640x480
可改为自己摄像头的分辨率
-f 12
为帧数
-p 4321
为端口号
更多设置请参考README
在同一局域网下在浏览器输入树莓派IP:端口号/?action=stream
可观看视频流