本文來源電子發燒友社區,作者:HonestQiao, 帖子地址:https://bbs.elecfans.com/jishu_2293833_1_1.html
米爾MYD-YT507開發板提供了眾多的接口,可以很方便我們接入外設:
一、攝像頭配件
攝像頭配件部分,官方提供了好幾種選擇:
其中有對USB攝像頭的支持:
既然能夠支持USB攝像頭,正好我手頭有一個海康威視的USB攝像頭,接上來,經過一番嘗試,發現可用,而且很好用。
二、USB攝像頭接入
把這個攝像頭的USB直接接到開發板上即可:
登錄到開發板上,通過下面的命令,可以查看USB攝像頭接入時,是否被檢測到了:
dmesg
在接上USB攝像頭,然后再拔掉,dmesg
將會返回如下的信息:
然后,我們可以安裝一個usbutils工具中提供的lsusb指令,來檢測系統是否正確識別了:
# 安裝
sudo apt install usbutils
# 查看具體信息
lsusb -v -t
lsusb
通過lsusb -v -t
,可以查看當前接入的設備類型。通過lsusb
可以查看開發板的USB掛載點。
在上圖中,uvcvideo即為USB攝像頭設備,其掛載到了Bus03 Port1 ,對應的ID為1d6b:0002
。最后的這個id,需要記錄下來,后續需要使用。
通過上述操作,我們可以確認,攝像頭正確接入了,后續就可以開始使用了。
三、攝像頭參數了解
要使用這個USB攝像頭,我們需要先了解一下它的相關參數信息,例如支持的格式,分辨率等,這可以通過Video for Linux這個工具查看。
Video for Linux簡稱V4L,有網友畫了一個結構非常清晰又很復雜的v4l框架圖:
感覺過于復雜,這里不深究了,就知道,它能夠很方便的查看攝像頭的各項信息就好了。
-
安裝v4l:
sudo apt install v4l-utils
然后即可使用
v4l2-ctl
命令查看了,具體操作如下: -
查看系統識別的攝像頭:
sudo v4l2-ctl --list-devices
從上圖中可以看到,這個USB攝像頭,識別為
HIK 720P Camera
,并且設備掛載點為/dev/video0
-
查看攝像頭支持的格式:
sudo v4l2-ctl -d /dev/video0 --list-formats
從上圖中可以看到,支持MJPG和YUYV兩種視頻格式。其中,Motion JPEG是一種影像壓縮格式,其中每一影格圖像都分別使用JPEG編碼,非常適合進行推流使用。
YUYV是YUV編碼方式的一種存儲格式,定義比較復雜,所以大家可以自己搜索資料了解。
-
查看攝像頭支持的分辨率:
sudo v4l2-ctl --list-framesizes=MJPG -d /dev/video0 sudo v4l2-ctl --list-framesizes=YUYV -d /dev/video0
從上圖中,可以看到,最大為720P,對應前面顯示的
HIK 720P Camera
。
現在我們已經知道了,這個USB攝像頭,分辨率能夠支持720P,格式支持MJPEG和YUYV了,下面,我們就可以使用攝像頭軟件,來獲取攝像頭拍攝的畫面了。
四、攝像頭拍照
因為我所使用的系統是Ubuntu,桌面環境使用的是xfce4,所以我安裝了camorama這個工具來使用攝像頭。
-
安裝camorama:
sudo aptinstall camorama
安裝完成后,在xfce桌面的菜單中,就能夠看到這個應用了:
-
使用camorama:
但是現在還不能直接從菜單點擊使用,需要在命令行,通過sudo調用,如上圖所示,執行后,就能打開camoraman了: -
設置當前非root用戶的使用權限:
使用時,切入到root用戶,這很不方便,好來系統提供了udev設置的方式,能夠很方便的讓普通用戶使用攝像頭設備,具體操作如下:sudo vim /etc/udev/rules.d/my-uvc-usb.rules ### 添加下面這行 SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d6b", ATTRS{idProduct}=="0002", GROUP="myir", MODE="0666"
在上面的配置中,idVendor、idProduct對應我們之前使用
lsusb
命令獲取的id信息:1d6b:0002
,GROUP則對應當前登錄的普通用戶myir。設置完成以后,需要使用
sudo reboot
重啟設備生效,然后就可以在xfce界面,點擊菜單使用攝像頭了。 -
普通用戶權限使用:
在默認設置的camorama界面上,點擊Take Picture
會報錯,提示無法創建目錄,需要先進行如下的設置,將存儲目錄設置到當前用戶的Picture目錄即可:
設置完成,就可以點擊Take Picture
拍照了,拍照后,到當前用戶的Picture目錄即可查看圖片。 -
拍攝圖片的查看:
要查看圖片我們可以試用 ristretto 工具,安裝后,可以從系統菜單打開,也可直接點擊圖片,就能查看了:
五、攝像頭視頻錄制
-
視頻錄制:
要錄制視頻,可以使用cheese或者obs,為了簡單起見,這里我們直接使用ffmpeg來錄制視頻,不需要安裝太多額外的大的應用。# 安裝ffmpeg,之前的步驟,可能會自動安裝了 sudo apt install ffmpeg # 進入到~/Videos目錄并錄制攝像頭視頻 cd ~/Videos ffmpeg -f video4linux2 -r 30 -s 640x480 -i /dev/video0 out.mp4
執行上述命令后,就會將錄制的視頻,存放到 ~/Videos/out.mp4了,修改out.mp4可以保存為你實際需要的視頻文件名。
要結束錄制,按ctrl+c即可
-
播放視頻:
要播放視頻,可以安裝smplayer,其實使用mplayer也可以播放,但smplayer操作更友好。
sudo apt install smplayer
安裝完成后,點擊視頻,即可播放:
因為我使用vnc連接遠程桌面進行播放的,所以播放的效果不是太好。如果是本地連接顯示器進行播放,效果非常不錯。本文所附帶的視頻,就是實際錄制的視頻。
-
播放視頻:
六、總結
到這里,我們已經能夠正常使用USB攝像頭,來進行拍照,進行錄制了。
操作過程中,所使用的軟件,是我實際使用的,大家也可以用自己熟悉的其他工具軟件來進行操作。
下一步,將會給大家分享,如何使用USB攝像頭進行推流,提供類似直播的在線視頻;
同時,我手頭上,有一個M2 Dock,已經實現了,在M2 Dock,通過米爾MYD-YT507開發板的USB攝像頭視頻推流,來獲取實際拍攝數據,進行圖像分析處理,例如魔方色塊的智能識別。
-
米爾科技
+關注
關注
5文章
227瀏覽量
20921
發布評論請先 登錄
相關推薦
評論