實現(xiàn)的方法有很多種师痕,按步驟來看適合哪一種躲舌,網(wǎng)上說什么接采集卡会通,其實就是把AV轉(zhuǎn)成UVC口予,現(xiàn)在市面上很多攝像頭直接就已經(jīng)是UVC的了娄周,在windows上面即插即用涕侈。
安卓也是Linux,這個就好辦了煤辨。
1.首先下載個安卓USB檢測程序裳涛,插入UVC攝像頭,在程序中檢測看是在/dev/video中新增了節(jié)點众辨,還是在/bus/usb下新增了節(jié)點端三。如果沒新增video節(jié)點,則沒有UVC驅(qū)動鹃彻。如果你有很多個usb口子郊闯,可以連電腦,在adb shell中輸入ls -l /dev/v*,查看是否生成了新的節(jié)點团赁。
2.如果沒有新增節(jié)點育拨,有3個辦法。1是自己寫一個video固件欢摄,通常平板上都有前后兩個攝像頭熬丧,video0和video1都已經(jīng)被占用,是無法通過這兩個來調(diào)用外置攝像頭的怀挠。2是干掉一個前置或者后置攝像頭析蝴,這樣就可以讓外置USB用video0或video1來啟動,這就是為什么在沒有攝像頭的安卓上能成功绿淋。3是找到系統(tǒng)的源碼闷畸,配置其中的UVC驅(qū)動,編譯后再安裝躬它。
3如果新增了節(jié)點那就好辦了腾啥,如果板子上已經(jīng)有2個攝像頭,自己寫個程序調(diào)用ID為3的camera就好了冯吓;如果沒有2個攝像頭倘待,那直接用系統(tǒng)自帶的相機程序前后切換就可以看到USB的信息了。如果是AV通過采集卡轉(zhuǎn)換的UVC组贺,還能在相機應用里看DVD凸舵。
常見的一些問題:
新增的固件無法訪問。其實就是Linux的權限問題失尖,只要權限是0666以上就可以了啊奄。chmod 0666 /dev/video3 或者 chmod 777 /dev/video3 ,video幾是看你新增的是哪個掀潮。
檢查手機是否支持uvc協(xié)議:
adb shell
cd sys/bus/usb/drivers
ls
如果有顯示uvcvideo 文件則說明支持uvc協(xié)議
最后我這邊用過的第三方庫:https://github.com/saki4510t/UVCCamera