서문
Google 크롬캐스트는 TV의 HDMI 포트에 연결하는 장치입니다. 스마트폰이나 컴퓨터를 리모컨으로 사용하면 Chromecast를 사용하여 동영상 콘텐츠에 액세스할 수 있습니다. Chromecast 플러그인을 사용하면 플레이어가 Brightcove Native SDK를 사용하여 모바일 장치 앱에서 Chromecast 장치로 비디오를 전송할 수 있습니다.
플러그인은 Widevine을 사용하는 DRM 암호화 스트림을 포함하여 HLS 또는 DASH를 사용하는 모든 Video Cloud 비디오 또는 외부 스트림을 지원합니다. 광고는 Video Cloud 서버측 광고 삽입 (SSAI를) 통해 지원됩니다. 클라이언트측 광고 및 재생목록은 지원되지 않습니다.
플러그인을 사용하려면 다음 단계를 따르십시오.
- Android 및/또는 iOS용 네이티브 SDK용 Chromecast 플러그인을 포함합니다(아래 구현 섹션 참조).
- Chromecast 기기가 동영상을 재생할 기기와 동일한 네트워크에 있는지 확인합니다.
- 비디오 재생을 시작합니다.
- 전송 버튼을 클릭하고 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에 전송 버튼을 표시합니다.
이 버튼을 클릭하거나 탭하면 플레이어에 로드된 현재 동영상으로 전송 세션이 시작됩니다. 작동 방식은 다음과 같습니다.
- 플러그인은 매개 변수 세트를 수신자에게 보냅니다.
- 수신기는 Brightcove의 CDN에서로드하여 보내는 플레이어를 미러링합니다.
- 로드되면 수신자 측 플레이어는 전송 세션이 시작될 때 전송 된 Playback API에서 동영상 ID를로드합니다.
- 그런 다음 리시버 측 플레이어는 보내는 플레이어의 재생 헤드 위치에서 재생을 시작합니다.
이 프로세스는 Playback API 요청이 없다는 점을 제외하고 비 비디오 클라우드 소스에 대해 동일합니다.
분석 도구
현재 분석 관점에서 캐스트 세션은 완전히 새로운 재생 세션으로 취급됩니다.
UX 관점에서 뷰어는 발신자 장치에서 스트림이 일시 중지되고 수신자에서 다시 시작되는 것을 볼 수 있습니다.
데이터 관점에서 볼 때 메트릭은 기본적으로 익명으로 처리되기 때문에 별도의 장치에서 새 스트림을 시작하는 새 뷰어로 기록됩니다. 이것이 실제로 일어나는 일입니다.
구현
구현 세부 정보는 다음을 참조하세요.
- Android - Android용 Native SDK용 Cast 플러그인
- iOS - iOS용 네이티브 SDK용 Google Cast 플러그인
맞춤 데이터
이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 계정에서 사용 가능)로 대체됩니다.