본문으로 건너뛰기

지원하지 않는 웹앱에서 웹캠 영상 소스를 변경하는 방법

Aidan Fitzpatrick

게시일: 2020년 8월 25일· 업데이트: 2020년 11월 17일

Cover image for: 지원하지 않는 웹앱에서 웹캠 영상 소스를 변경하는 방법

WebRTC를 사용하면 브라우저에서 사용자가 손쉽게 오디오와 영상 소스를 선택할 수 있습니다. 하지만 모든 웹 기반 영상 앱이 웹캠 영상 소스를 변경하는 컨트롤을 제공하는 것은 아닙니다.

일부 브라우저에서는 이것이 문제가 되지 않습니다. 예를 들어 Firefox와 Edge는 사이트별로 영상 소스를 선택할 수 있게 해줍니다. 하지만 Google Chrome은 특별한 chrome://settings/content/camera URL을 통해 기본 웹캠을 선택할 수 있게 해주면서도, 이 기본 카메라 설정이 WebRTC에는 적용되지 않습니다. 이에 대해 Google Chrome 포럼에서 불만을 제기한 사용자가 많지만, 아직 해결책은 보이지 않습니다.

이 때문에 영상 소스 선택 기능을 제공하지 않는 앱(vMix 등)을 사용하면서, 사이트별 영상 소스 선택을 지원하지 않는 브라우저(Chrome 등)까지 사용하는 경우, 사용자는 어찌할 도리가 없습니다. 사용자가 영상 카메라를 선택할 수 없는 영상 앱은 결국 임의로 카메라를 선택하게 되며, 그 결과 사용자가 원하는 카메라를 사용하지 못할 수 있습니다.

다행히 Chrome에서 웹 기반 영상 앱이 특정 카메라를 강제로 선택하도록 하는 간단한 우회 방법이 있습니다.

vMix의 vmixcall.com 서비스를 예로 들어 방법을 안내해 드립니다.

  1. Chrome을 실행하고 화상 채팅 세션을 시작합니다.
  2. ⌥ Option + ⌘ Cmd + i 키보드 단축키를 사용하거나 More Tools → Developer Tools 메뉴를 이용해 Chrome에서 “개발자 도구”를 엽니다.
  3. 기본 “콘솔” 탭에 다음 코드를 붙여넣고 Enter 키를 누릅니다.
function gotDevices(deviceInfos) {
  // Look for the Reincubate Camo video input device.
  var deviceId;
  for (deviceInfo of deviceInfos) {
    if (deviceInfo.kind === 'videoinput' && deviceInfo.label === 'Reincubate Camo') {
      deviceId = deviceInfo.deviceId
      break;
    }
  }
  if (deviceId) {
    const constraints = {
      audio: true,
      video: { deviceId: { exact: deviceId } }
    };
    navigator.mediaDevices.getUserMedia(constraints).then(gotStream);
  } else {
    console.error('Unable to find Reincubate Camo video input device.');
  }
}
function gotStream (stream) {
  // Tell the vMix Call session to switch to a different stream.
  try {
    session.gotLocalStream(stream);
  } catch {
    console.error('Unable to trigger vMix Call session stream update.');
  }
}
// Ask the browser for a list of media devices.
navigator.mediaDevices.enumerateDevices().then(gotDevices)

이렇게 하면 Chrome이 자동으로 Camo 영상 소스로 전환됩니다. 이 우회 방법이 제대로 작동하지 않는다면, 댓글로 알려주시거나 직접 문의해 주시면 도와드리겠습니다.

실제로는 이렇게 보입니다.

앞으로 이런 번거로움 없이 이용하고 싶다면, 영상 서비스 제공업체에 앱 내 영상 선택 기능을 추가해 달라고 요청해 보세요.


작성자 소개

Aidan Fitzpatrick

창립자 겸 CEO

Aidan은 세계 최초의 iOS 데이터 복구 도구를 개발한 후, 2008년에 Reincubate를 설립했습니다. 이후 그는 AMD, Qualcomm, HP와 같은 기업들과 협력하여 Camo 앱 생태계를 필두로 비디오 소프트웨어를 위한 의미 있는 머신러닝 기능을 개척하며, 회사를 세계 최고의 ISV 중 하나로 성장시켰습니다. Aidan의 리더십 아래 Reincubate는 영국 최고의 비즈니스 상을 네 차례 수상했고, The Sunday Times의 100대 기술 기업 리스트에 이름을 올렸으며, Apple 디자인 어워드와 App Store 후보 지명으로 업계의 인정을 받았습니다. 그의 연구와 기법은 모바일 포렌식 관련 학술 논문에서 자주 인용되며, Google, Microsoft, Snap과 같은 기업이 주최하는 행사에 연사로 초청받은 바 있습니다.


관련 문서

도움이 필요하신가요?

모든 문의에 영업일 기준 1일 이내에 답변드리도록 노력하고 있습니다.

support@reincubate.com
도움말