HoloLens REST API Streaming (browser to Unity)

2020. 11. 30. 17:25Unity 3D/HoloLens

HoloLesn에서 제공하는 여러 가지 미러링 기능 중 Streaming REST API를 사용한 미러링 방법

 

docs.microsoft.com/ko-kr/windows/uwp/debug-test-perf/device-portal-hololens

 

HoloLens용 디바이스 포털 - UWP applications

HoloLens용 Windows Device Portal을 사용하여 HoloLens 디바이스를 원격으로 구성 및 관리하는 방법에 대해 알아봅니다.

docs.microsoft.com

REST API를 사용하기 위한 방법은 위 링크를 참고하여 아래의 순서 대로 설정을 진행한다.

 

1. 디바이스 포털 사용

  1. HoloLens의 전원을 켜고 디바이스에 배치합니다.
  2. HoloLens(1세대)에 대해 시작 제스처 또는 블룸 제스처를 수행하여 주 메뉴를 실행합니다.
  3. 설정 타일을 응시하고 HoloLens(1세대)에서  제스처를 수행하거나, HoloLens 2에서 이 타일을 터치하거나 손 광선을 사용하여 선택합니다. [설정] 앱을 선택하면 앱이 시작됩니다.
  4. 업데이트 메뉴 항목을 선택합니다.
  5. 개발자용 메뉴 항목을 선택합니다.
  6. 개발자 모드를 사용하도록 설정합니다.
  7. 아래로 스크롤하여 디바이스 포털을 사용하도록 설정합니다.

2. HoloLens와 PC(Windows10)의 연결

 2-1. Wi-Fi를 통해 연결

  1. HoloLens를 Wi-Fi에 연결

  2. 디바이스의 IP 주소를 조회합니다. 설정 > 네트워크 및 인터넷 > Wi-Fi > 하드웨어 속성에서 디바이스의 IP 주소를 찾습니다. "안녕 코타나, 내 IP 주소는?"이라고 말하여 요청할 수도 있습니다.

  3. PC의 웹 브라우저에서 https://<YOUR_HOLOLENS_IP_ADDRESS>로 이동합니다.

    • 브라우저에 다음 메시지가 표시됩니다. "이 웹 사이트의 보안 인증서에 문제가 있습니다." 이 오류는 디바이스 포털에 발행된 인증서가 테스트 인증서이기 때문에 발생합니다. 지금은 이 인증서 오류를 무시하고 계속 진행할 수 있습니다.

 2-2. USB를 통해 연결

  1. PC에 Windows 10 개발자 도구와 Visual Studio 업데이트 1이 설치되도록 도구를 설치합니다. 이렇게 하면 USB 연결을 사용할 수 있습니다.
  2. 마이크로 USB 케이블(HoloLens 1세대) 또는 USB-C(HoloLens 2)를 사용하여 HoloLens를 PC에 연결합니다.
  3. PC의 웹 브라우저에서 http://127.0.0.1:10080로 이동합니다.

3. 사용자 이름 및 암호 만들기

HoloLens에서 디바이스 포털에 처음 연결하면 사용자 이름 및 암호를 만들어야 합니다.

  1. PC의 웹 브라우저에서 HoloLens의 IP 주소를 입력합니다. 액세스 설정 페이지가 열립니다.
  2. 핀 요청을 클릭 또는 탭하고 HoloLens 디스플레이를 확인하여 생성된 PIN을 가져옵니다.
  3. 디바이스에 표시된 PIN 텍스트 상자에 PIN을 입력합니다.
  4. 디바이스 포털 연결에 사용할 사용자 이름을 입력합니다. MSA(Microsoft 계정) 이름 또는 도메인 이름일 필요는 없습니다.
  5. 암호를 입력하고 확인합니다. 암호는 7자 이상이어야 합니다. MSA 또는 도메인 암호일 필요는 없습니다.
  6. 페어링을 클릭하여 HoloLens의 Windows Device Portal에 연결합니다.

이 사용자 이름 또는 암호를 변경하려는 경우 언제든지 오른쪽 위의 보안 링크를 클릭하거나 https://<YOUR_HOLOLENS_IP_ADDRESS>/devicesecurity.htm를 탐색하여 디바이스 보안 페이지를 방문하여 이 프로세스를 반복할 수 있습니다.

 

4. 보안 인증서

브라우저에 "인증서 오류"가 표시되는 경우 디바이스와 트러스트 관계를 만들어 수정할 수 있습니다.

각 HoloLens는 해당 SSL 연결에 대한 고유의 자체 서명된 인증서를 생성합니다. 기본적으로 이 인증서는 PC의 웹 브라우저에서 신뢰하지 않아 "인증서 오류"가 발생할 수 있습니다. 신뢰하는 Wi-Fi 네트워크 또는 USB를 통해 HoloLens에서 이 인증서를 다운로드하고 PC에서 신뢰할 수 있도록 만들어 안전하게 디바이스에 연결할 수 있습니다.

  1. 보안된 네트워크(신뢰하는 Wi-Fi 네트워크 또는 USB)에 있는지 확인합니다.

  2. 디바이스 포털의 "보안" 페이지에서 이 디바이스의 인증서를 다운로드합니다. 오른쪽 위의 아이콘 목록에서 보안 링크를 클릭하거나 https://<YOUR_HOLOLENS_IP_ADDRESS>/devicesecurity.htm으로 이동합니다.

  3. PC의 "신뢰할 수 있는 루트 인증 기관" 스토리지에 인증서를 설치하고 Windows 메뉴에서 다음을 입력합니다. 컴퓨터 인증서 관리를 입력하고 애플릿을 시작합니다.

    • 신뢰할 수 있는 루트 인증 기관 폴더를 확장합니다.
    • 인증서 폴더를 클릭합니다.
    • 작업 메뉴에서 모든 작업 > 가져오기...를 선택합니다.
    • 디바이스 포털에서 다운로드한 인증서 파일을 사용하여 인증서 가져오기 마법사를 완료합니다.
  4. 브라우저를 다시 시작합니다.

5. browser에서 확인 가능한 Streaming REST API URL 형식

1~4번의 위 모든 세팅이 완료되었다면, API 형식은 다음과 같다.

docs.microsoft.com/ko-kr/windows/uwp/debug-test-perf/device-portal-api-hololens

 

HoloLens용 디바이스 포털 API 참조 - UWP applications

데이터에 액세스하고 디바이스를 프로그래밍 방식으로 제어하는 데 사용할 수 있는 HoloLens REST API의 Windows Device Portal에 대해 알아봅니다.

docs.microsoft.com

<Streaming REST API 형식 예>

https://<ID>:<PW>@<HoloLens IP>/api/holographic/stream/live_high.mp4?holo=true&pv=true&mic=true&loopback=true

 

6. Unity AssetStore 중 URL Streaming이 가능한 에셋을 이용하여 재생한다.

아래의 두 에셋으로 테스트가 완료됐으며, 보안 인증서가 제대로 설치되지 않았다면 재생이 되지 않는 것을 확인했다.

 

   1. 3D WebView for Windows and macOS (Web Browser) 

   2. VLC for Unity (Windows) - 무료 Demo 버전으로도 테스트 가능

   

 

HoloLens에서 보고 있는 video / audio를 PC(Windows10) 빌드에서 미러링하면서 다양한 네트워킹 제어가 필요한다면, 위와 같은 내용을 진행하며 REST API를 이용한 스트리밍 재생을 구현해보도록 하자