UVC 攝像頭在 RK3399 上的應用
USB 攝像頭在 RK3399 上的應用
1、簡介
UVC 全稱 USB Video Class 、是 USB-IF 定製的一套標準,所有遵循這一標準的 USB 介面攝像頭在 Windows Linux 等系統下,幾乎能直接使用,達到類似免驅的效果。
當然了,並不是說真正的不需要驅動,而是隻要某個 USB 介面的攝像頭遵循了 UVC標準,它就能被 Window、Linux 系統中一套通用的驅動所驅動,而不需要你再安裝其他的驅動。比如 Linux 核心中就有一套針對 UVC 裝置的通用驅動:drivers/media/usb/uvc
, 只要開啟了這套驅動,幾乎所有的 UVC 攝像頭都可以直接使用。
2、Leez P710 的 USB 介面
Leez P710 是基於 RK3399 設計的開發板,根據 TRM,RK3399 有 2 個 USB2.0 控制器 和 2 個 USB 3.0 控制,P710 把它們的 USB 介面都留了出來,這為 P710 提供了靈活的連線介面。我們剛好可以利用它提供的 USB 介面連線 USB 攝像頭。
3、開啟核心的 UVC 驅動
我使用的是 mainline 的核心,當前版本為 5.3-rc2.
在 核心原始碼根目錄下執行 make ARCH=arm64 menuconfig
命令,開啟 UVC 相關配置:
然後編譯核心,dts 使用這裡的:rk3399-leez-p710.dts
先燒寫這裡的韌體: 百度網盤 下載, 提取碼為 t4xg
。刷韌體的方法可以參考 Debian10 for Leez P710
系統起來後,通過 scp
命令把前面編譯的 Image
和 dtb
拷貝到開發板上,替換掉原來的 Image
和 dtb
,然後通過 reboot
命令重啟系統:
scp -r andy@172.16.12.67:~/your/linux/arch/arm64/boot/Image .
scp -r andy@172.16.12.67:~/your/linux/arch/arm64/boot/dts/rockchip/rk3399-leez.dtb .
cp Image /boot/Image
cp rk3399-leez-p710.dtb /boot/dtb/rockchip/rk3399-leez.dtb
sync
reboot
注意把上面的使用者名稱、IP 地址、Linux 原始碼路徑換成你自己的。
系統起來後,接入你的 usb 攝像頭,然後執行 dmesg
命令檢視核心 log, 可以看到 uvc 已經被系統識別到:
執行 v4l2-ctl -d /dev/video0 --list-formats-ext
命令可以檢視你的攝像頭支援的格式:
4、 執行 mjpg-streamer
mjpg-streamer
是 github 上一個開源的 uvc 視訊應用,它可以獲取 uvc 攝像頭的視訊流,然後通過區域網傳輸,可以直接在開發板上編譯這個程式碼並執行:
git clone https://github.com/andyshrk/mjpg-streamer.git
cd mjpg-streamer/mjpg-streamer-experimental/
apt install cmake libjpeg62-turbo-dev
make
如果一切順利,你很快就能編譯完程式碼,然後執行下面的命令執行該應用:
./mjpg_streamer -o "output_http.so -w ./www" -i "input_uvc.so"
在區域網內,任何電腦的網頁端開啟如下網址:http://172.16.33.179:8080/?action=stream
你就能實時看到攝像頭採集到的視訊流。
需要注意的是,上面的 ip 地址是你開發板的 ip 地址。
採集到的圖象效果可以看這裡 mjpg stream
更多原創請掃碼關注公眾號:HackforFun
相關文章
- RK3399的Android系統驅動UVC攝像頭Android
- UVC攝像頭按鍵拍照功能
- 搭建一個攝像頭應用程式 應用程式內部攝像頭
- opencv VideoCapture 不能採集uvc攝像頭的MJPEG 資料OpenCVIDEAPT
- 【音影片】攝像頭
- 攝像頭操作指南
- ToDesk勾上攝像頭會看到我嗎?如何關閉攝像頭
- Android提供的攝像頭拍照Android
- iOS應用自動撥打電話,開啟攝像頭缺陷iOS
- .NET 攝像頭採集
- android opencv 前置攝像頭AndroidOpenCV
- android 開啟攝像頭Android
- Android呼叫攝像頭拍照Android
- 如何在SAP UI5應用裡新增使用攝像頭拍照的功能UI
- [譯]Android的多攝像頭支援Android
- [譯] Android 的多攝像頭支援Android
- Win10攝像頭如何開啟_WIN10攝像頭在哪裡Win10
- 大華攝像頭 ZLMediaKit JavaJava
- WebRTC開啟本地攝像頭Web
- 如何使用PYTHON操作攝像頭Python
- 某CCTV攝像頭漏洞分析
- 安卓呼叫攝像頭拍照安卓
- 人工智慧"眼睛"——攝像頭人工智慧
- jQuery webcam plugin呼叫攝像頭jQueryWebPlugin
- 筆記本攝像頭怎麼開啟 筆記本設定攝像頭教程筆記
- Win10系統如何開啟網路攝像頭應用設定Win10
- 用樹莓派USB攝像頭做個監控樹莓派
- windows10攝像頭怎麼開啟_window10怎麼開啟攝像頭的方法Windows
- win10如何開啟電腦攝像頭錄影_win10用電腦自帶攝像頭錄影的方法Win10
- win10攝像裝置被佔用怎麼辦_win10攝像頭被佔用的解決方法Win10
- web呼叫攝像頭拍照並上傳到伺服器Web伺服器
- 在Android中呼叫攝像頭拍照並顯示出來Android
- win10 怎麼檢測攝像頭_win10怎麼設定攝像頭Win10
- Win10專業版攝像頭在哪裡開啟 windows10攝像頭開啟的方法Win10Windows
- HTML5如何呼叫攝像頭?HTML
- 滑坡監測識別攝像頭
- 人員跌倒檢測攝像頭
- 高空拋物智慧抓拍攝像頭