기타/공부노트

[우분투 / AVD] 내장 또는 외장 웹캠 연결하기

코드아키택트 2021. 12. 3. 23:37
반응형

9안녕하세요 갈아만든쌀입니다. 오늘은 안드로이드 가상 디바이스 (Android Virtual Device)에서 노트북 내장 웹캠 또는 USB 웹캠에 연결하는 방법에 대해 알아보겠습니다.


내장 웹캠 사용하기

안드로이드 스튜디오 실행 -> AVD 매니저 실행 -> 설정 

내장 캠 설정하기

 내장 웹캠을 사용한느 방법은 쉽습니다. 안드로이드 스튜디오를 실행해 AVD 매니저를 통해 설정할 수 있습니다. 

모어 액션에 안드로이드 AVD매니저가 있습니다.

 

설정 전 후

내장 캠 확인하기

연결한 후에는 에뮬레이터를 돌려보면 됩니다.

내장 웹캠에 연결된 모습

 


외장 웹캠 연결하기

USB 연결확인 -> 웹캠 이름 확인 후 연결 

이제 외장 웹캠을 연결해보겠습니다. 하단에 첨부한 링크의 방법을 기반으로 하겠지만, 사실 저는 실패해서 제가 한 방법 그대로 해보겠습니다.

 

환경변수 설정하기

 아마 설치하셨을때 이미 했을거라고 생각하지만, 몇몇 환경변수들을 미리 설정해 두어야 합니다. 사실 전 덩어리로 다 해놔서 그냥 복붙 하겠습니다.

위의 내용들이 $HOME/.profile 에 등록되어 있어야합니다. 물론 결론적으로, 뭔가 잘 안되기 때문에 emulator 폴더에 들어가서 실행하긴 할겁니다.

 

현재 이용가능한 AVD 및 카메라

우선 어떤 AVD를 쓸 수 있는지 확인해야합니다. 이후 이 장비에 속한 캠이 어느것이 있는지 확인한 후 연결하게 됩니다.

 

커맨드는 아래의 두가지를 사용합니다. 사용하기전에 Android/Sdk/emulator위치로 이동하는것을 꼭 잊지 마시길 바랍니다.

./emulator -list-avds
./emulator @Pixel_5_API_30 -webcam-list

카메라가 하나만 잡힌모습

현재 가용한 avd와 avd에 달린 카메라를 볼 수 있습니다. 제가 USB를 연결하지 않은 상태여서 카메라가 하나만 잡히는 것을 볼 수 있습니다.

USB연결 후 카메라가 두개로 잡히는 모습

 이제 웹캠을 연결하면 위와같은 화면을 볼 수 있습니다. 이제 카메라를 설정해보도록 하겠습니다.

방법1: emulator 커맨드 이용하기

각자 장비와 카메라 이름에 따라 아래 커맨드는 바꿔야할 것입니다.

예를들어 제경우 외부 웹캠의 이름은 webcam1이고, AVD장비 이름은 Pixel_5_API_30입니다. 따라서 커맨드는

./emulator @Pixel_5_API_30 -camera-back webcam1

웹캠으로 연결된 모습

 위의 커맨드를 치니 바로 됬네요. 하지만 안되는 경우도 있어서 다른곳에서 설정해보겠습니다. 그리고 위의 방법은 임시로 webcam1을 사용하는 방법이라 나중에 다시 켜면 webcam0으로 돌아온 것을 볼 수 있습니다.

 

방법2: AVD config.ini파일 변경하기

AVD를 만들면, 하나의 설정파일로 저장되어 있습니다. 우분투의 경우 

~/.android/avd/장비이름.avd 폴더에 저장되어 있습니다.

config.ini를 볼 수있습니다.

저는 visual studio code로 실행해보도록 하겠습니다.

15번줄 back 카메라

위와 같이 back카메라 부분을 바꿀 수 있습니다. 이렇게 하면 켤때마다 다시 설정해야하는 번거로움을 덜 수 있습니다.

 

https://stackoverflow.com/questions/63951011/how-to-access-webcam-connected-using-usb-in-android-avd

https://developer.android.com/studio/run/emulator-commandline

 

 

반응형