반응형




버추얼박스에 설치된 우분투에서 웹캠을 사용하는 방법을 다룹니다. 



최초작성 2019. 8. 23




버추얼박스의 가상머신 창에 있는 메뉴를 보면 아래 스크린샷처럼 장치 > 웹캠에서 컴퓨터에 연결되어 있는 웹캠이 보입니다. 

하지만 체크를 해도 게스트 운영체제인 우분투에서 사용할 수 없습니다.

 




실행중인 가상머신을 종료한 후, https://www.virtualbox.org/wiki/Downloads 에서 VirtualBox Extension Pack를 다운로드 받아 더블 클릭하여 설치합니다. 





가상머신의 설정에서 USB 3.0 컨트롤러를 사용하도록 변경합니다. 





호스트 운영체제인 윈도우의 명령 프롬프트에서 컴퓨터에 연결된 웹캠을 확인합니다.

노란색 부분 경로를 따로 복사해두세요. 


"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" list webcams


C:\Users\webnautes>"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" list webcams
Video Input Devices: 1
.1 "LG HD WebCam"
\\?\usb#vid_2232&pid_5008&mi_00#6&159b9ebf&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global




가상 머신을 실행시키고  메뉴 가상머신 창의 메뉴에서 장치 > 웹캠에 체크된 웹캠을 체크해제합니다.


우분투 부팅 완료후 윈도우의 명령 프롬프트에서 다음 명령을 사용하여 앞에서 복사해두었던 경로를 입력하여 웹캠을 가상머신에 연결합니다.  

이때 경로를 큰따옴표(")로 둘러싸야 합니다.


"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" controlvm "VM name" webcam attach [host_path|alias [settings]]


C:\Users\webnautes>"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" controlvm "우분투" webcam attach "\\?\usb#vid_2232&pid_5008&mi_00#6&159b9ebf&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"




가상 머신 창에서 확인해보면 메뉴의 장치 > 웹캠에 있는 웹캠이 자동으로 체크됩니다.




우분투에서 dmesg 명령을 사용하면 다음처럼 웹캠이 인식된 것을 볼 수 있습니다.

보이지 않는 경우 위로 스크롤하면 찾을 수 있습니다.  


webnautes@webnautes-VirtualBox:~$ dmesg
[   57.002174] usb 1-2: Manufacturer: VirtualBox
[   57.002175] usb 1-2: SerialNumber: 599fbd1ec672942c
[   57.019945] media: Linux media interface: v0.10
[   57.026746] videodev: Linux video capture interface: v2.00
[   57.035676] uvcvideo: Found UVC 1.00 device VirtualBox Webcam - LG HD WebCam (80ee:0030)
[   57.040013] uvcvideo 1-2:1.0: Entity type for entity Processing 2 was not initialized!
[   57.040015] uvcvideo 1-2:1.0: Entity type for entity Camera 1 was not initialized!
[   57.040993] input: VirtualBox Webcam - LG HD WebCa as /devices/pci0000:00/0000:00:0c.0/usb1/1-2/1-2:1.0/input/input8
[   57.041948] usbcore: registered new interface driver uvcvideo
[   57.041949] USB Video Class driver (1.1.1)




우분투에서 video0 디바이스가  생성된 것을 볼 수 있습니다.


webnautes@webnautes-VirtualBox:~$ ls /dev/video*
/dev/video0  /dev/video1




가상머신에  연결된 웹캠은 다음처럼 확인 할 수  있습니다. 


VBoxManage controlvm "VM name" webcam list


C:\Users\webnautes>"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" controlvm "우분투" webcam list
\\?\usb#vid_2232&pid_5008&mi_00#6&159b9ebf&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global




이제 우분투에서 웹캠 동작을 확인해봅니다.


우선 vlc 패키지를 설치해야 합니다. 

sudo apt  install vlc




터미널에서 다음 명령을 사용하면 웹캠 영상이 보이게 됩니다. 


vlc v4l2:///dev/video0




가상머신이 종료 또는 재부팅후 웹캠 연결이 해지됩니다.


이제부터는 앞에서 했던 과정없이 가상머신창의 메뉴에서 장치 > 웹캠에 있는 웹캠을 체크해주기만 하면 동작합니다. 




참고


https://www.virtualbox.org/manual/ch09.html#webcam-passthrough




반응형

포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
댓글로 알려주시면 빠른 시일내에 답변을 드리겠습니다.

여러분의 응원으로 좋은 컨텐츠가 만들어집니다.
지금 본 내용이 도움이 되었다면 유튜브 구독 부탁드립니다. 감사합니다 : )

유튜브 구독하기


제가 쓴 책도 한번 검토해보세요.

  1. opencvv 2019.10.04 16:56

    안녕하세요!
    잘 읽고 따라하는 도중에 alias[settings] 부분에서
    alias 명령어가 실행되지 않는다는데 무슨일 일까요 ㅜㅜ

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.10.04 19:56 신고

      아래줄은 실행시키는 게 아니라 명령어 사용방법입니다.

      "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" controlvm "VM name" webcam attach [host_path|alias [settings]]


      그다음 줄에 있는 다음 명령을 사용하시면 됩니다.
      노란 색 부분만 이전 명령에서 얻은 문자열로 바꾸세요.

      C:\Users\webnautes>"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" controlvm "우분투" webcam attach "\\?\usb#vid_2232&pid_5008&mi_00#6&159b9ebf&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"

  2. webcam 2019.10.10 12:18

    안녕하세요. 카메라 연결이 안되서 고생하고 있었는데 이대로하니까 되어서 덕분에 잘 연결했습니다. 감사합니다! 그런데 제가 yolo 프로그램 안에서 웹캠을 사용하려는데 웹캠 스트리밍이 너무 느리고 잘 안되어서요.... 혹시 해결방법이 있을까요..? yolo 안에서는 opengl을 이용해서 오픈합니다.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.10.10 12:52 신고

      yolo는 사용해보지 않아서 확답을 드리긴 어려울듯합니다.

      보통 이미지 크기를 줄이면 속도가 개선됩니다.

  3. webcam 2019.10.10 17:43

    혹시 이미지 크기를 줄이는 법은 알 수 있을 까요..??

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.10.10 18:28 신고

      웹캠에서 어떻게 이미지를 가져오고 있나요?


      혹시 OpenCV를 사용하나요?

  4. webcam 2019.10.10 18:52

    네! opencv 와 darknet-yolo 를 사용해서 웹캠연결해서 사람 탐지 하려고 하는 건데요,,opengl support 라고하면서 창이 열리고 카메라가 비추는 첫 화면이 뜨면 스트리밍은 못하고 그냥 굉~장히 느려요..3분전 화면 나오고 막..이미지 화질을 떨어트리는 방법은 없을까요..?

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.10.10 19:14 신고

      검색해보니 GPU없이 yolo를 돌리면 느린건 어쩔 수 없다하네요..

      OpenCV에서 이미지 크기 줄이는 건 아래 포스트를 참고하세요
      1/2, 1/4 크기로 줄여서 해보세요.
      많이 빨라지지는 않을듯합니다.

      https://webnautes.tistory.com/1251


      아래 링크도 참고해보세요.
      http://guanghan.info/blog/en/my-works/yolo-cpu-running-time-reduction-basic-knowledge-and-strategies/

  5. webcam 2019.10.10 21:08

    https://webnautes.tistory.com/1251 이포스팅 보았는데요
    우분투에 파이썬이 설치되어있지 않아도 resize를 사용할 수 있는건가요?
    저는 파이썬이 없어서요..

  6. webcam 2019.10.10 23:55

    c언어로 돼있어요!

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.10.11 16:41 신고

      resize함수를 다음처럼 사용하세요
      3번째 아규먼트로 줄일 이미지의 크기를 입력하면 됩니다.
      아래 예제는 이미지를 절반 크기로 줄입니다.

      resize(src, dst, Size(src.cols/2,src.rows/2));

  7. 정말 2020.09.27 15:10

    감사합니다...!!!!!

  8. liberty67 2020.10.17 21:35

    좋은 정보 감사합니다!
    제 컴퓨터에서 버츄얼박스로 우분투가 설치되지 않아 VMware로 설치했는데 VMware로 웹캠을 사용하는 것은 별도로 방법이 없을까요??

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.10.18 11:12 신고

      찾아보니 관련 자료가 거의 없네요..

      USB 컨트롤러를 2.0에서 3.1로 바꾸어서 된다는 말이 있긴합니다.

      https://qiita.com/maron2000/items/cd7e9001e89f977e6f96


      제 기억으론 가상머신 설정에서 웹캠을 추가하여 바로 인식되었던거 같습니다.

+ Recent posts