0x00

通过树莓派将摄像头推流

推流使用mjpg-streamer组件

我使用的摄像头为树莓派官方的CSI接口摄像头

0x01 安装

1.挂载摄像头(USB摄像头可跳过)

将摄像头插在指定的接口上

1.png

进入系统执行

$ sudo raspi-config

找到Camera选项并打开

2.png

编辑文件让/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可观看视频流

0x03 END

Last modification:October 24th, 2019 at 03:39 pm
如果觉得我的文章对你有用,请随意赞赏