개요
Cast Web Receiver SDK는 여러 웹 스트리밍 프로토콜을 사용하여 콘텐츠 재생을 지원합니다. 사용된 프로토콜에 따라 SDK는 콘텐츠 재생을 처리하는 플레이어를 로드합니다. HLS 콘텐츠의 경우 Media Player Library (MPL)가 로드됩니다. DASH 콘텐츠의 경우 Shaka Player가 로드됩니다.
앞으로 Cast SDK 및 Shaka Player 엔지니어링팀은 Shaka Player에서 HLS 콘텐츠 재생 지원을 늘리기 위해 공동으로 노력할 예정입니다. MPL은 더 이상 중요한 업데이트를 받지 않습니다. 애플리케이션의 HLS 콘텐츠 재생에 Shaka Player를 사용하도록 선택하는 것이 좋습니다.
Shaka Player의 이점
플레이어를 변경하면 애플리케이션에서 다음과 같은 이점을 누릴 수 있습니다.
- 사용자를 위한 더 강력한 스트리밍 세션: 로드 시간 실패 및 지연 시간 개선
- 최신 HLS 기능의 지속적인 채택
- Shaka Player의 오픈소스 특성으로 인해 플레이어-콘텐츠 호환성 문제에 대한 근본 원인 분석의 명확성 향상
- 오픈소스 플레이어 코드베이스를 통해 파트너는 Shaka Player 프로젝트에 기여할 수 있습니다.
- Shaka Player의 출시 주기가 빈번하고 Web Receiver SDK 출시와 독립적이므로 기능 및 버그 수정이 프로덕션에 적용되는 시간이 크게 단축됩니다.
shakaVersion
API에서 제공하는 재생 환경에 대한 더 큰 제어- 로드맵에 표시된 대로 Shaka Player의 HLS 재생에 중점을 둔 엔지니어링 리소스를 통해 Google의 재생 지원이 강화되었습니다.
타임라인
Web Receiver SDK가 HLS 콘텐츠 재생의 기본 플레이어로 Shaka Player를 사용하도록 전환됩니다. 이는 파트너가 마이그레이션 프로세스를 진행할 수 있도록 단계별로 진행됩니다.
단계 | 시작일 | 개요 |
---|---|---|
1 | 2022년 10월 | Cast Web Receiver SDK는 Shaka Player에서 HLS 콘텐츠를 재생하기 위해 선택할 수 있는 API를 도입합니다. |
2 | 2025년 11월 | Cast 웹 수신기 SDK는 HLS 콘텐츠 재생을 위해 기본 플레이어를 Shaka Player로 변경합니다. |
Web Receiver SDK 엔지니어링팀은 성능 중심 접근 방식을 취하고 있으며, Shaka Player의 성능이 MPL의 기준 성능과 동일한 경우에만 다음 단계로 진행할 예정입니다. 이러한 변경사항은 cast-sdk-announcements Google 그룹에 공지되며 이 가이드에 업데이트됩니다.
선택
CAF 버전 3.0.0105
부터 HLS 재생에 Shaka Player를 사용하도록 선택하는 애플리케이션 수준 구성이 있습니다. 이 버전에서는 로드할 지원되는 Shaka Player 버전 범위에서 선택하는 API도 도입되었습니다. 이러한 플래그는 CastReceiverOptions
클래스에서 useShakaForHls
및 shakaVersion
속성을 통해 제공되며 CastReceiverContext
가 시작될 때 평가됩니다. HLS에 Shaka를 선택하는 애플리케이션은 최신 HLS 개선사항을 활용하기 위해 Shaka Player 버전을 최소 4.15.12
로 설정해야 합니다. 선택하려면 아래 코드 스니펫을 따르세요.
const context = cast.framework.CastReceiverContext.getInstance();
let castReceiverOptions = new cast.framework.CastReceiverOptions();
castReceiverOptions.useShakaForHls = true;
context.start(castReceiverOptions);
콘텐츠 검사
파트너는 프로덕션 앱에서 Shaka Player를 사용하기 전에 Shaka Player에서 콘텐츠 재생을 검증해야 합니다. 아래에 나열된 콘텐츠의 각 변형을 테스트하는 것이 좋습니다.
- 스트림 유형: LIVE 또는 VOD
- 컨테이너 형식: TS, MP4 또는 기본 스트림
- 불연속 또는 삽입된 광고가 있는 콘텐츠
- 다음 기기 유형에서 재생: 스마트 디스플레이, Google Cast 동글, Android TV 기기, Google Cast가 있는 TV, 스마트 스피커
오류나 예상치 못한 동작이 발견되면 버그를 신고하세요. 콘텐츠에 심각한 재생 실패가 없음을 확인한 후 변경사항을 프로덕션 환경에 푸시합니다.
선택 해제
웹 수신기 SDK는 타임라인에 따라 Shaka Player HLS 콘텐츠 재생을 위한 선택 해제 모델로 전환됩니다. useShakaForHls
속성의 기본값이 false
에서 true
로 변경됩니다. 이때 애플리케이션은 이 속성을 false
로 수동으로 설정하여 HLS 재생에 MPL을 사용하도록 선택할 수 있습니다. CastReceiverContext
가 시작되면 Web Receiver SDK는 Shaka Player 대신 MPL을 로드하도록 되돌아갑니다. 거부 방법은 아래 샘플을 참고하세요.
const context = cast.framework.CastReceiverContext.getInstance();
let castReceiverOptions = new cast.framework.CastReceiverOptions();
castReceiverOptions.useShakaForHls = false;
context.start(castReceiverOptions);
문제 신고
파트너는 HLS 콘텐츠를 재생할 때 발견되는 문제를 신고하는 것이 좋습니다. 앞서 언급한 바와 같이 MPL은 더 이상 중요 업데이트를 수신하지 않습니다. MPL에 문제가 발생하면 가이드의 선택 섹션에 나온 단계를 따라 Shaka Player로 전환하면 문제가 해결되는지 확인하세요. 문제가 계속되거나 플레이어를 전환할 때 다른 문제가 발생하는 경우 아래 단계를 따르세요.
shakaVersion
을 다른 브랜치 버전으로 설정하여 문제를 해결해 보세요. 예를 들어4.15
브랜치에서 문제가 발생하면 다른 브랜치의 최신 버전으로 설정해 보세요. Shaka Player 출시 노트에서 가장 관련성이 높은 업데이트가 포함된 출시를 확인하세요.shakaVersion
API에는 참고 문서에 자세히 설명된 대로 지원되는 최소 버전과 최대 버전이 있습니다. 회귀가 관찰되면 Shaka Player 문제 추적기에 문제를 신고하세요.- 플레이어 구성 매개변수를 변경해 보세요. Shaka Player는
PlayerConfiguration
객체를 통해 구성할 수 있습니다. Web Receiver SDK는 기본값 집합을 정의하고 애플리케이션이PlaybackConfig
객체의shakaConfig
속성을 통해 이 구성을 수정할 수 있도록 지원합니다. 이는 플레이어 인스턴스가 생성될 때 로드 시간 중에 평가됩니다. 자세한 내용은 애플리케이션 구성 및 옵션을 참고하세요. Web Receiver SDK에서 설정한 기본값은 권장 값입니다. - Shaka Player 문제 추적기 또는 Cast 문제 추적기에 문제가 보고되었는지 확인합니다. 버그에 댓글을 달고 문제에 관한 관련 정보가 있으면 추가합니다.
- Shaka Player 데모 사이트에서 콘텐츠를 테스트합니다. 콘텐츠의 데모 사이트에서 문제가 재현되는 경우 Shaka Player 프로젝트에 버그를 신고하세요.
- 전송 엔드포인트에서 Shaka Player에만 해당하는 문제가 있는 경우 Cast 문제 추적기에 버그를 신고하세요.
FAQ
선수를 변경하면 많은 의문이 생길 수 있습니다. 아래에서 이전 절차를 안내하는 가장 일반적인 질문과 답변을 확인하세요.
Shaka Player로 이전해야 하나요?
HLS 콘텐츠를 사용하는 파트너는 가능한 한 빨리 이전 절차를 시작하는 것이 좋습니다. 따라서 앱에서 사용자에게 더 강력한 스트리밍 환경을 제공할 수 있습니다. 자세한 내용은 이 가이드의 Shaka Player 이점 섹션을 참고하세요. 파트너는 Shaka Player를 사용하여 앱이 제대로 작동하는지 확인하여 원활한 전환을 보장해야 합니다. 파트너가 미리 콘텐츠가 Shaka Player에서 제대로 재생되는지 확인하지 않으면 일부 앱이 웹 수신기 SDK가선택 해제 모델로 전환될 때 위험에 처할 수 있습니다.
플레이어를 변경할 때 예상되는 노력 수준은 어느 정도인가요?
파트너는 테스트 환경에서 애플리케이션과 콘텐츠를 테스트하여 사용자 환경이 HLS와 유사하거나 개선되었는지 확인해야 합니다. 이를 위해 파트너는 내부 환경에서 이 기능을 선택하고 콘텐츠가 Shaka Player를 사용하여 재생될 수 있는지 철저히 테스트해야 합니다. 콘텐츠의 어떤 측면에 집중해야 하는지에 관한 자세한 내용은 콘텐츠 유효성 검사를 참고하세요. 검증이 완료되면 파트너는 프로덕션 애플리케이션 환경에 선택 플래그를 추가하여 Shaka Player에서 제공하는 이점을 활용해야 합니다. 전반적으로 파트너가 성공적으로 이전하는 데 필요한 소프트웨어 개발 변경사항은 최소한이며 대부분 QA 요구사항입니다.
내 애플리케이션에서 곧 HLS를 사용하여 콘텐츠를 스트리밍할 예정입니다. 어떻게 해야 하나요?
새 통합은 재생을 위해 Shaka Player를 사용하도록 선택해야 합니다. 장기적으로 애플리케이션이 더 잘 지원되며 새로운 HLS 기능과 성능 개선사항도 활용할 수 있습니다. 새 통합에 문제가 있는 경우 엔지니어링팀이 문제를 해결할 충분한 시간을 확보할 수 있도록 최대한 빨리 버그를 신고하세요. 애플리케이션에 촉박한 기한이 있는 경우 버그 신고에 해당 정보와 영향을 포함하여 그에 따라 우선순위를 지정하세요. Google 엔지니어링팀에서 사용자에게 적절한 지원을 제공하기 위해 솔루션을 마련할 것입니다.
내 콘텐츠 또는 앱이 Shaka Player와 호환되지 않습니다. 어떻게 해야 하나요?
Shaka Player 프로젝트 또는 Cast 프로젝트에 버그를 신고해야 합니다(문제 신고 참고). Cast SDK 엔지니어링팀은 이러한 트래커를 적극적으로 모니터링하고 있으며, 당면한 문제를 해결하기 위해 최선을 다할 것입니다. 이러한 문제가 일찍 감지될수록 수정사항을 제공하는 데 더 많은 시간이 걸립니다.
MPL이 더 이상 중요한 업데이트를 받지 못합니다. 정확히 무슨 의미인가요?
이전에는 MPL이 중요 업데이트를 통해 새로운 HLS 기능을 채택하고 주요 버그를 패치했습니다. 이제 MPL에서 더 이상 이러한 기능을 수신하지 않으므로 새 HLS 기능이 플레이어에 추가되지 않습니다. 마찬가지로 MPL에서 HLS 재생에 대해 신고된 문제는 MPL에서 수정되지 않습니다. 이러한 문제는 재생을 위해 Shaka Player로 전환하면 해결됩니다. 문제가 지속되면 Shaka Player에서 발생한 관련 문제와 함께 버그를 신고해야 합니다. 파트너는 MPL 사용을 중단해야 합니다.
내 콘텐츠에서 Smooth Streaming 프로토콜을 사용합니다. 애플리케이션에 어떤 영향을 미치나요?
MPL 바이너리는 계속 호스팅되며 수신기 애플리케이션에서 액세스할 수 있습니다. 하지만 Smooth Streaming 사양이 4년 이상 업데이트되지 않았으므로 Smooth Streaming 관련 기능 요청과 버그 수정은 지원되지 않습니다. 콘텐츠에 대한 실적 업데이트와 지원을 계속 받으려면 DASH 또는 HLS 스트리밍 프로토콜을 사용하도록 콘텐츠를 이전하는 것이 좋습니다.
내 콘텐츠가 HLS 또는 Smooth Stream 프로토콜을 사용하지 않으면 애플리케이션에 어떤 영향을 미치나요?
콘텐츠 라이브러리에서 이러한 스트리밍 프로토콜을 사용하지 않는 경우 마이그레이션의 영향을 받지 않습니다. 애플리케이션을 변경하지 않아도 됩니다.