【国产RISC-V Linux板 昉·星光VisionFive试用报告】使用USB摄像头建立MJPEG推流服务
[复制链接]
本帖最后由 HonestQiao 于 2022-8-9 15:15 编辑
之前一直使用的是Debian系统,结果上周末,SD卡出问题了,系统没了。
还好手头还有一张卡,于是下载了Ubuntu系统,写到SD卡,能够正常拍了。
Ubuntu下载地址:Ubuntu 22.04 LTS has a RISC-V version
下载之后,第一件事情,就是接上USB摄像头,然后查看系统信息中,是否成功识别了。
1. 查看dmesg信息:
[ 477.372298] videodev: Linux video capture interface: v2.00
[ 477.539509] usbcore: registered new interface driver snd-usb-audio
[ 477.703831] usb 1-1.4: Found UVC 1.00 device HIK 720P Camera (2bdf:0280)
[ 477.712220] input: HIK 720P Camera: HIK 720P Camer as /devices/platform/soc/104c0000.usb/xhci-hcd.0.auto/usb1/1-1/1-1.4/1-1.4:1.0/input/input0
[ 477.713148] usbcore: registered new interface driver uvcvideo
看到以上信息,说明识别成功。
2. 查看设备:
HonestQiao@ubuntu-star5:~$ sudo ls -lh /dev/video*
crw-rw---- 1 root video 81, 0 Aug 9 06:45 /dev/video0
crw-rw---- 1 root video 81, 1 Aug 9 06:45 /dev/video1
看到以上信息,说明系统成功挂载了对应的设备了。
然后,可以安装v4l工具,查看USB摄像头的相关信息:
sudo apt install v4l-utils
安装后,可以用下面的指令查看摄像头的信息:
# 查看当前挂载的设备
sudo v4l2-ctl --list-devices
# 查看只是的视频格式
sudo v4l2-ctl -d /dev/video0 --list-formats
# 查看支持的分辨率
sudo v4l2-ctl --list-framesizes=MJPG -d /dev/video0
命令实际执行,结果如下:
1. 挂载的设备:
2. 支持的格式:
确定其中支持MJPEG格式
3. 支持的分辨率:
可以看到,MJPEG模式,支持640*480、1280*720。
有了这些信息,就可以准备建立MJPEG服务了。
要建立视频推流,可以用nginx + rtmp,也可以用mjpeg_streamer,后者专用于mjpeg,小巧有方便,就选它了。
先下载并安装mjpeg_streamer:
sudo apt install make cmake libjpeg9-dev
git clone https://github.com/jacksonliam/mjpg-streamer.git
cd mjpg-streamer-master/mjpg-streamer-experimental/
make all
sudo make install
如果中途提示缺少什么,就安装什么。因为提前执行了安装libjpeg9-dev的命令,所以不会提示libjpeg的问题。
正常make all的结果:
正常sudo make install的结果:
安装完成后,启动就能使用了:
然后通过下面的网址即可访问:192.168.1.217:8080/?action=stream
该网址,可以在网页中,使用img标志直接播放,也可以使用python 读取进行处理,非常方便。
|