本文来源电子发烧友社区,作者:HonestQiao, 帖子地址:https://bbs.elecfans.com/jishu_2293834_1_1.html
实录视频(开发板体验视频,详见作者原帖子)
最近在研究米尔的开发板,用上了一个海康威视的USB摄像头,很好用,于是想在星光派单板计算机也尝试使用。
米尔的开发板是arm64的,而咱们的星光派单板计算机,是RISC-V的,架构不一样,不清楚软件的支持情况如何。
进过一番尝试,发现异常的顺利,能够正常使用,现在将使用的过程,分享出来。
实际使用的海康威视USB摄像头如下:

将该USB摄像头,连接到USB接口即可:

因为我还研究了,在矽速M2 Dock上面通过网络获取星光派USB摄像头的数据,所以上图中带屏幕的就是M2 Dock,后续这个过程,也会给大家分享。我使用的是Debian系统,大家如果使用其他的系统,可以参考,根据系统实际情况进行处理。
启动星光派单板计算机,并使用ssh连接后,接上摄像头,拔下摄像头,通过dmesg命令可以看到信息:
dmesg

其中,红线上面的部分,是拔掉USB后的信息。
而红线下面的部分,则是接上USB摄像头后的信息。
从其中我们可以看到,系统识别到了HIK 720P Camera,其中有一个id信息idVendor=2bdf, idProduct=0280,这个非常重要,后面会使用到。
然后,我们可以安装v4l工具,来查看摄像头的具体参数信息:
# 安装v4l
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

从上图中,可以看到,HIK 720P Camera挂载点钟,可以使用/dev/video0,支持MJPEG和YUYV格式,分辨率最高位720P。
获取了上面的摄像头基本信息后,就可以正式试用摄像头了。
为了让普通用户也能够使用/dev/video0设备,我们需要先做一下设置:
sudo vim /etc/udev/rules.d/my-uvc-usb.rules
### 添加下面这行
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2bdf", ATTRS{idProduct}=="0280", GROUP="HonestQiao", MODE="0666"
这里的idVendor、idProduct需要与在demesg中看到接上USB摄像头后的信息保持一致。GROUP需要使用当前登录的用户。
设置完成后,使用sudo reboot重启生效即可。
要使用摄像头拍照和录制视频,需要是用合适的工具。
拍照部分,我使用了camorama,可以实时预览摄像头画面,并且在界面上点击拍照。
录制视频部分,可以试用的软件很多,我选择了使用命令行的ffmpeg,虽然使用难度大一点,但是能力强大,而身材有非常小巧。
拍照和录制视频后,还需要查看图片和播放视频,我使用的是ristretto和smplayer,两者都简单好用。
分别安装上面的4个软件:
sudo apt install camorama
sudo apt install ffmpeg
sudo apt install ristretto
sudo apt install smplayer
然而,当我配置好xfce桌面环境,打开操作的时候,速度奇慢无比,最终决定放弃桌面系统的操作,改为命令行操作了。
用命令行操作就简单了,一个ffmpeg命令,就搞定一切了。
拍照:
ffmpeg -f video4linux2 -r 1 -s 640x480 -i /dev/video0 -frames:v 1 test.jpg
录制视频:
ffmpeg -f video4linux2 -r 10 -s 640x480 -i /dev/video0 test.mp4
拍照和录制视频后,使用ssh将文件拷贝出来,就可以查看了。

上面是使用命令行工具,进行视频的拍摄,如果你会Python,那么可以用Python编程,来进行拍摄。
要用Python操作摄像头,需要先安装cv2模块
pip install opencv-python
然后编写camera_test.py:
#coding:utf-8
import cv2
cap = cv2.VideoCapture(0)
flag = cap.isOpened()
index = 1
while(flag):
ret, frame = cap.read()
# cv2.imshow("Capture_Paizhao",frame)
k = cv2.waitKey(1) & 0xFF
if k == ord('s'): #按下s键,保存图片
cv2.imwrite("./" + str(index) + ".jpg", frame)
print(cap.get(3))
print(cap.get(4))
print("save" + str(index) + ".jpg successfuly!")
print("-------------------------")
index += 1
elif k == ord('q'): #按下q键,退出
break
cap.release()
cv2.destroyAllWindows()
编写保存后,运行即可进行操作:
python camera_test.py
按s键拍照,按q键退出。
-
RISC-V
+关注
关注
48文章
2792浏览量
51902 -
赛昉科技
+关注
关注
3文章
178浏览量
15314
发布评论请先 登录
2025 RISC-V产业发展大会 | 赛昉科技全景展示规模化商用成果
【作品合集】赛昉科技VisionFive 2单板计算机开发板测评
赛昉科技入驻RuyiSDK开发者社区,双平台协同推进RISC-V生态
“核心技术突破+关键应用支撑”,赛昉加速RISC-V生态突围
【VisionFive 2单板计算机试用体验】VisionFive 2一个霸气的游戏机
【VisionFive 2单板计算机试用体验】RISC-V架构卡片计算机初体验
【VisionFive 2单板计算机试用体验】USB摄像头测试
权威评测:Orange Pi RV2等5 款 RISC-V 单板计算机测试-性能、基准测试、功能和见解
【VisionFive 2单板计算机试用体验】 + 开箱体验
共建生态,赋能应用 | 赛昉科技精彩亮相中国RISC-V生态大会
赛昉科技RISC-V家庭云解决方案:NAS存储性能升级,隐私安全双保障
首届RISC-V产业发展大会成功举办,赛昉携手产业伙伴共绘RISC-V新蓝图
赛昉科技亮相ICCAD-Expo 2024,共探RISC-V技术最新发展

【赛昉科技昉·星光RISC-V单板计算机试用体验】使用海康威视USB摄像头拍照和录制视频
评论