카테고리 없음

Virtual Webcam

Wood Pecker 2021. 2. 2. 00:45

zoom등의 화상회의 프로그램은 Webcam을 입력 비디오로 받는다. Virtual Webcam을 만들고 Zoom의 입력으로 받을 수는 없을까 찾아보았다. 이를 구현하기 위해서는 디비이스 드라이버를 만들고 복잡한 작업을 하여야 한다. 그러나 다음과 같은 비교적 같단한 방법이 있다. 먼저 OBS Studio를 설치한다. OBS Studio는 가상 카메라를 지원하는 공개 소프트웨어이다. 다음 파이썬에서 OBS Studio에 스트림 데이터를 보내면 OBS Studio의 가상카메라를 통하여 Zoom의 입력으로전달할수있다. OBS Studio는설치하고한번만실행하면가상카메라 드라이버가설치되어 다음에는 실행할 필요가없다.

OBS Studio 26.1.1 를 설치한다.   Virtual Camera를 2개 이상 설정한다. 

    Open Broadcaster Software®️ | OBS

    Free and open source software for video recording and live streaming.
    Download and start streaming quickly and easily on Windows, Mac or Linux.

(https://obsproject.com/)

 

파이썬에서 OBS에 스트림을 보내기위해pyvirtualcam 모듈을 설치한다.

pip install pyvirtualcam

 

다음의 프로그램을 작성하고 실행한다.

def myWebCamViaOBS():
    # 검색 할 데이터 소스 (Web 카메라)를 선택
    cap = cv2.VideoCapture("./datasets/sohn02.mp4")
    ret, frame = cap.read()
    with  pyvirtualcam.Camera(width=frame.shape[1],height=frame.shape[0],fps = 30,delay = 0)  as  cam:
        while True:
            ret, frame = cap.read()
            frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGBA)
            cam.send(frame)
            cam.sleep_until_next_frame()
    cap.release()

 

Zoom에서 가상의 카메라를 사용하여 보자.

 

 

반응형