2020-05-01
Ubuntu上用Android手機作為Webcam
讓手機變webcam且支援跨平台/USB的目前找到這二套:
DroidCam: http://www.dev47apps.com/
Iriun WebCam: https://iriun.com/
因為我是要安裝在Ubuntu上,一開始是試iriun卻怎麼試也不成功,後來改用DroidCam就沒問題了。
安裝工具(Android Debug Bridge, gcc...等)
sudo apt-get install adb gcc make linux-headers-`uname -r`
安裝DroidCam:
wget https://www.dev47apps.com/files/linux/droidcam_latest.zip
unzip droidcam_latest.zip -d droidcam && cd droidcam
sudo ./install
lsmod | grep v4l2loopback_dc #檢查是否有掛上 v4l2loopback_dc 模組
(另外也有提供DKMS方式安裝,避免每次kernel更新後又要重新安裝droidcam client)
安裝webcam測試用GUI:
sudo apt-get install qv4l2
Android 5.0以上可以直接在Play Store安裝DroidCam,
Android 4.x可以在這裡下載APK安裝。
手機安裝DroidCam後,記得在手機的「開發者人員選項」開啟「USB 偵錯模式」,
然後用USB連接手機跟電腦,再下指令看看找不找得到Android設備:
adb devices
如果出現 no permissions 之類的訊息,那麼就要加入udev rules了,讓一般使用者也能access到手機,先找出Android設備的id:
lsusb
找到手機的設備id為 18d1:4ee7:
Bus 001 Device 010: ID 18d1:4ee7 Google Inc.
新增udev rules:
sudo vi /lib/udev/rules.d/70-android.rules
=======
加入以下內容(注意依自已的設備id修改,如果有多台設備就多行):
SUBSYSTEM=="usb",ATTRS{idVendor}=="18d1",ATTRS{idProduct}=="4ee7",MODE="0666"
=======
然後重新載入udev rules:
sudo chmod 644 /lib/udev/rules.d/70-android.rules
sudo udevadm control --reload-rules
sudo udevadm trigger
重新插拔USB,再下 adb devices,確定可以找到裝置後,執行手機上的DroidCam,
再在電腦上執行 droidcam ,選擇USB並點擊Connect,
再執行 qv4l2,看看能不能看到手機上的視訊影像。
預設解析度是640x480,如果覺得解析度不夠高,也可以修改解析度(要先付費升級手機上的APP,否則即使電腦解析度調高也會像上了馬賽克),譬如先測看看720P:
sudo rmmod v4l2loopback_dc
sudo insmod /lib/modules/`uname -r`/kernel/drivers/media/video/v4l2loopback-dc.ko width=1280 height=720
如果確定修改解析度後顯示正常,可以直接修改 /etc/modprobe.d/droidcam.conf
這樣每次使用就會固定為修改後的解析度,
目前支援 640×480, 960×720, 1280×720 (720p), 1920×1080 (1080p).
要移除的話執行 sudo /opt/droidcam-uninstall 即可
ref:
http://www.dev47apps.com/droidcam/linuxx/
標籤:
Android,
linux mint,
teams,
ubuntu,
webcam
2016-11-14
QNAP及Synology的OpenVPN設定檔,在行動裝置(iOS & Android)連線的問題
Synology的OpenVPN設定檔,不管在PC系統(MacOS, WINDOWS)或行動裝置(iOS, Android)上,
我測試是都可以直接匯入使用的(除了在原設定檔多加了<ca>...</ca>,把ca.cert的內容貼入設定檔,並把原有的ca ca.cert設定刪掉),
而QNAP的OpenVPN設定檔,在PC系統(MacOS, WINDOWS)可以正常使用,但在行動裝置(iOS, Android)上則要注意修改一個設定,
打開OpenVPN設定,將「Force AES-CBC ciphersuites」給勾選,就可以了,因為QNAP是用AES-CBC-128或AES-CBC-256方式做加密的,
這方式在行動裝置上要額外勾選,預設是不勾選的…也算是有點雷,
而在QNAP官方說明卻叫你確定「Force AES-CBC ciphersuites」是「關閉」,很明顯寫反了。
ref:
https://www.qnap.com/zh-tw/tutorial/con_show.php?op=showone&cid=3
我測試是都可以直接匯入使用的(除了在原設定檔多加了<ca>...</ca>,把ca.cert的內容貼入設定檔,並把原有的ca ca.cert設定刪掉),
而QNAP的OpenVPN設定檔,在PC系統(MacOS, WINDOWS)可以正常使用,但在行動裝置(iOS, Android)上則要注意修改一個設定,
打開OpenVPN設定,將「Force AES-CBC ciphersuites」給勾選,就可以了,因為QNAP是用AES-CBC-128或AES-CBC-256方式做加密的,
這方式在行動裝置上要額外勾選,預設是不勾選的…也算是有點雷,
而在QNAP官方說明卻叫你確定「Force AES-CBC ciphersuites」是「關閉」,很明顯寫反了。
ref:
https://www.qnap.com/zh-tw/tutorial/con_show.php?op=showone&cid=3
2016-05-04
讓 Android Studio 2.1 支援 Lambda expression & Stream API & ButterKnife依賴注入框架
要讓 Android Studio 2.1 能支援java 8的Lambda expression & Stream API & ButterKnife依賴注入框架,
請先安裝JDK8,並修改專案gradle設定檔如下:
gradle.build (Project):
buildscript {
repositories {
jcenter()
//加入套件來源maven
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
// 加入dependency (gradle-retrolambda 外掛)
classpath 'me.tatarka:gradle-retrolambda:3.2.5'
// 加入dependency (android-apt 外掛)
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
}
repositories {
//加入maven
mavenCentral()
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
訂閱:
文章 (Atom)