本文來源電子發燒友社區,作者: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文章
2886瀏覽量
53019 -
賽昉科技
+關注
關注
3文章
181瀏覽量
15550
發布評論請先 登錄
賽昉科技2025:引領RISC-V駛入數據中心深水區
RISC-V實現數據中心應用突破,賽昉科技BMC芯片重磅亮相
2025 RISC-V產業發展大會 | 賽昉科技全景展示規模化商用成果
【作品合集】賽昉科技VisionFive 2單板計算機開發板測評
5?款?RISC-V?單板計算機測試:性能、基準測試、特性及見解
賽昉科技入駐RuyiSDK開發者社區,雙平臺協同推進RISC-V生態
賽昉科技徐滔:以精準場景牽引,RISC-V搶灘數據中心百萬顆市場
賽昉科技聯合合見工軟實現國產一致性NoC IP與RISC-V核在大規模網絡中的適配
“核心技術突破+關鍵應用支撐”,賽昉加速RISC-V生態突圍
【VisionFive 2單板計算機試用體驗】VisionFive 2一個霸氣的游戲機
【VisionFive 2單板計算機試用體驗】RISC-V架構卡片計算機初體驗
【VisionFive 2單板計算機試用體驗】USB攝像頭測試
權威評測:Orange Pi RV2等5?款?RISC-V?單板計算機測試-性能、基準測試、功能和見解
【賽昉科技昉·星光RISC-V單板計算機試用體驗】使用海康威視USB攝像頭拍照和錄制視頻
評論