OrangepiZERO3驱动USB摄像头的记录
小知识:-j是job的意思,-j4是四个线程同时编译,因为ZERO3是4核CPU;执行make -j4 时可能会报错,原因是orangepi没有下载编译链。按照里面有关的步骤进行操作,但是可能会有一点小问题,特此记录一下。如果要邀请远方的小伙伴,可以用tailscale来一起看。但是执行下一步开启MJPG-Stream时可能会出错。因为orangepi没有下载jpeg的开发库。然后继续make -
关于orangepiZERO3的官方文档:
http://www.orangepi.cn/orangepiwiki/index.php/Orange_Pi_Zero_3
按照里面有关的步骤进行操作,但是可能会有一点小问题,特此记录一下

第一步和第二步一致,不多说。
第三步:
我的命令行窗口:
orangepi@orangepizero3:~/hhlong$ v4l2-ctl --list-device
cedrus (platform:cedrus):
/dev/video0
/dev/media0
Integrated Camera: Integrated C (usb-5200000.usb-1):
/dev/video1
/dev/video2
/dev/media1
cedrus 是香橙派 Zero3(全志 H616 芯片)里 内置硬件视频编解码器(VPU)的 Linux 驱动。
详细的说,就是:
cedrus (/dev/video0):板载硬件编码器 → 负责视频硬解 / 硬编(看电影、转码加速)
Integrated Camera (/dev/video1):USB 摄像头 → 负责采集画面
Linux 把 所有多媒体硬件(摄像头、编码器、解码器) 都统一用 V4L2(Video for Linux 2)框架管理。
与文档提示稍有不同的是:我的输出了 2 个 video 设备:
video1 = 图像数据(要用的)
video2 = 元数据(参数信息,不用管)
第四步也一致。
第五步使用 MJPG-Stream
执行make -j4 时可能会报错,原因是orangepi没有下载编译链
可以输入下面命令下载:
sudo apt update && sudo apt install -y cmake gcc g++ make
然后继续make -j4还可能会报错
experimental/plugins/input_uvc/jpeg_utils.c:27:10: fatal error: jpeglib.h: No such file or directory
27 | #include <jpeglib.h>
| ^~~~~~~~~~~
compilation terminated.
因为orangepi没有下载jpeg的开发库
执行下面命令:
sudo apt install -y libjpeg-dev
然后继续编译,应该没有问题了。
小知识:-j是job的意思,-j4是四个线程同时编译,因为ZERO3是4核CPU;
但是执行下一步开启MJPG-Stream时可能会出错
因为原命令
sudo ./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -u -f 30" -o "./output_http.so -w ./www"
有-u ,这这个命令强制使用 UYVY 格式(无压缩格式),绝大多数 USB 摄像头默认只支持 MJPEG 压缩格式,不支持 -u
执行这个命令:
sudo ./mjpg_streamer -i "./input_uvc.so -d /dev/video1 -f 30 -r 640x480" -o "./output_http.so -w ./www"
在浏览器打开【开发板的IP地址:8080】的网址,就可以看到视频流了。
如果要邀请远方的小伙伴,可以用tailscale来一起看。
昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链
更多推荐

所有评论(0)