네이티브 SDK가 포함된 Chromecast

이 항목에서는 Brightcove Native SDK로 빌드된 앱에서 Chromecast 연결 TV로 비디오를 전송하는 방법을 알아봅니다.

서문

Google 크롬캐스트는 TV의 HDMI 포트에 연결하는 장치입니다. 스마트폰이나 컴퓨터를 리모컨으로 사용하면 Chromecast를 사용하여 동영상 콘텐츠에 액세스할 수 있습니다. Chromecast 플러그인을 사용하면 플레이어가 Brightcove Native SDK를 사용하여 모바일 장치 앱에서 Chromecast 장치로 비디오를 전송할 수 있습니다.

플러그인은 Widevine을 사용하는 DRM 암호화 스트림을 포함하여 HLS 또는 DASH를 사용하는 모든 Video Cloud 비디오 또는 외부 스트림을 지원합니다. 광고는 Video Cloud 서버측 광고 삽입 (SSAI를) 통해 지원됩니다. 클라이언트측 광고 및 재생목록은 지원되지 않습니다.

플러그인을 사용하려면 다음 단계를 따르십시오.

  1. Android 및/또는 iOS용 네이티브 SDK용 Chromecast 플러그인을 포함합니다(아래 구현 섹션 참조).
  2. Chromecast 기기가 동영상을 재생할 기기와 동일한 네트워크에 있는지 확인합니다.
  3. 비디오 재생을 시작합니다.
  4. 전송 버튼을 클릭하고 Chromecast 기기를 선택합니다.

크롬캐스트 앱 구성 요소

Chromecast의 소프트웨어는 다음과 같은 구성 요소로 구성되어 있습니다.

  • 발신자 앱 : 이것은 캐스트 세션을 시작하고 수신자와 통신 할 수있는 모든 애플리케이션입니다. 발신자 애플리케이션은 Chromecast 생태계의 “클라이언트 측”부분으로 생각할 수 있습니다.

    Chromecast 플러그인은 네이티브 SDK에서 발신자 앱을 활성화합니다. 이 주제에서 그것에 대해 배우게됩니다.

  • 수신기 앱 : 이것은 공용 인터넷에서 호스팅되고 Chromecast 장치에서 실행되는 사용자 지정 웹 응용 프로그램입니다. 발신자 앱과 수신자 장치 간의 통신을 처리합니다. CSS 및 자바 스크립트 자산이있는 단일 페이지 HTML 앱으로 생각할 수 있습니다.

    기본적으로 Chromecast 플러그인은 CDN에서 호스팅되는 Brightcove Cast Receiver 앱을 사용합니다. 수신기 앱은 전송 세션 중에 Chromecast에 로드되는 웹 애플리케이션입니다.

지원되는 Chromecast 기기

다음 장치가 지원됩니다.

  • Chromecast (3 세대)
  • Chromecast Ultra
  • Google TV용 Chromecast

작동 원리

현재 구현 (플러그인 / 리시버 버전 2.x)은 CAF (Cast Application Framework) API를 사용합니다.

Chromecast 수신기 플러그인이 추가되면 플레이어는 로컬 네트워크에 사용 가능한 Chromecast가있을 때 플레이어 UI에 전송 버튼을 표시합니다.

이 버튼을 클릭하거나 탭하면 플레이어에 로드된 현재 동영상으로 전송 세션이 시작됩니다. 작동 방식은 다음과 같습니다.

  1. 플러그인은 매개 변수 세트를 수신자에게 보냅니다.
  2. 수신기는 Brightcove의 CDN에서로드하여 보내는 플레이어를 미러링합니다.
  3. 로드되면 수신자 측 플레이어는 전송 세션이 시작될 때 전송 된 Playback API에서 동영상 ID를로드합니다.
  4. 그런 다음 리시버 측 플레이어는 보내는 플레이어의 재생 헤드 위치에서 재생을 시작합니다.

이 프로세스는 Playback API 요청이 없다는 점을 제외하고 비 비디오 클라우드 소스에 대해 동일합니다.

분석 도구

현재 분석 관점에서 캐스트 세션은 완전히 새로운 재생 세션으로 취급됩니다.

UX 관점에서 뷰어는 발신자 장치에서 스트림이 일시 중지되고 수신자에서 다시 시작되는 것을 볼 수 있습니다.

데이터 관점에서 볼 때 메트릭은 기본적으로 익명으로 처리되기 때문에 별도의 장치에서 새 스트림을 시작하는 새 뷰어로 기록됩니다. 이것이 실제로 일어나는 일입니다.

구현

구현 세부 정보는 다음을 참조하세요.

맞춤 데이터

customData인터페이스는 발신자가 Brightcove의 수신기 앱과 같은 맞춤형 Chromecast 수신기로 임의의 데이터를 전달할 수 있는 방법을 제공합니다.

브라이트코브 플레이어 (웹) 발신자의 경우 전적으로 플러그인에서customData처리됩니다. 통합자가 할 일이 없습니다.

Android 또는 iOS용 네이티브 SDK와 같은 다른 모든 발신자의 경우 발신자가customData생성해야 합니다.

customData.accountId (필수)

유형: string

웹 플레이어에서 전송할 때는 자동으로 이루어집니다. 다른 모든 발신자(예: 네이티브 SDK)는 이를 명시적으로 설정해야 합니다.

customData.analyticsParams

유형: object

이 속성은 데이터 수집 API로 전송된 비콘에 대한 수신기의 분석 구현에 매개 변수를 전달하는 데 사용할 수 있는 개체여야 합니다. 다음 속성을 지원합니다.

부동산 유형 설명
analyticsParams.application string 일반 텍스트 애플리케이션 ID를 설정할 수 있습니다. 이는 Engage와 같은 애플리케이션에 유용합니다.
analyticsParams.user string Data Collection API로 전송되는 비콘에 대한 일반 텍스트 사용자 ID를 설정할 수 있습니다. 이는 XDR(교차 장치 재개)과 같은 기능에 유용합니다.

customData.catalogParams

유형: object

카탈로그 매개변수 객체여야 합니다.

수신자의 Playback API에 전달되는 모든 값은 이 개체에서 가져와야 합니다.

customData.keySystems

유형: object

미디어 정보 개체를 통해 미디어를 제공할 때 이를 사용하여 Playback API에서 반환한 것과 동일한 형식으로 DRM 설정을 제공할 수 있습니다.

keySystems: {
  'com.widevine.alpha': {
    url: 'https://url/to/widevine/license'
  }
}

customData.playerUrl

유형: string

로드할 사용자 지정 플레이어 URL을 제공하는 데 사용할 수 있습니다.

웹 플레이어에서 전송할 때 기본적으로 발신자의 플레이어를 미러링합니다. 이 동작은 옵션을"playerUrl": "default"전달하여 재정의할 수 있습니다 (위 참조). 이는 테스트에 유용합니다.

기본 SDK에서 캐스팅하면 기본 플레이어(Players Prod 계정에서 사용 가능)로 대체됩니다.