Shaka 플레이어 이전 시 HLS

개요

Cast 웹 수신기 SDK는 여러 웹 스트리밍 프로토콜을 사용하여 콘텐츠 재생을 지원합니다. SDK는 사용된 프로토콜에 따라 플레이어를 로드하여 콘텐츠 재생을 처리합니다. HLS 콘텐츠의 경우 미디어 플레이어 라이브러리 (MPL)가 로드됩니다. DASH 콘텐츠의 경우 Shaka Player가 로드됩니다.

앞으로 Cast SDK와 Shaka Player 엔지니어링팀은 Shaka Player의 HLS 콘텐츠 재생 지원을 확대하기 위한 노력을 통합하고 있습니다. MPL은 더 이상 중요 업데이트를 받지 않습니다. 애플리케이션의 HLS 콘텐츠 재생에는 Shaka Player를 사용하도록 선택하는 것이 좋습니다.

Shaka Player 혜택

플레이어를 변화시키면 애플리케이션은 다음과 같은 이점을 누립니다.

  • 사용자를 위한 더욱 강력한 스트리밍 세션 및 로드 시간 실패 및 지연 시간 개선
  • 최신 HLS 기능을 지속적 채택
  • Shaka Player의 오픈소스 특성으로 인한 플레이어-콘텐츠 호환성 문제의 근본 원인 분석 명확성이 향상되었습니다.
  • 오픈소스 플레이어 코드베이스를 사용하면 파트너는 Shaka Player 프로젝트에 참여할 수 있습니다.
  • Shaka Player의 출시 주기가 빈번하며 웹 수신기 SDK의 출시와는 별개이므로 프로덕션까지의 기능 및 버그 수정 시간이 크게 감소합니다.
  • shakaVersion API에서 제공하는 재생 환경을 더 효과적으로 제어합니다.
  • 로드맵에서 볼 수 있듯이 Shaka Player의 HLS 재생에 중점을 둔 엔지니어링 리소스를 통해 Google의 재생 지원을 확대했습니다.

타임라인

웹 수신기 SDK가 HLS 콘텐츠 재생의 기본 플레이어로 Shaka 플레이어를 사용하도록 전환됩니다. 이는 단계별 접근 방식으로 파트너에게 이전 프로세스를 안내하는 방식으로 진행됩니다.

단계 시작 날짜 개요
1 2022년 10월 Cast 웹 수신기 SDK는 Shaka Player에서 HLS 콘텐츠를 재생하도록 선택할 수 있는 API를 도입합니다.
2 2024년 하반기 Cast 웹 수신기 SDK는 HLS 콘텐츠 재생을 위해 기본 플레이어를 Shaka 플레이어로 변경합니다.

웹 수신기 SDK 엔지니어링팀은 성능 중심의 접근 방식을 취하며 Shaka Player의 성능이 MPL의 기준 성능과 동등한 경우에만 다음 단계로 진행합니다. 이러한 변경사항은 cast-sdk-announcements Google 그룹에 공지되며 이 가이드에서 업데이트됩니다.

선택

CAF 버전 3.0.0105부터 HLS 재생에 Shaka 플레이어를 사용하도록 선택할 수 있는 애플리케이션 수준 구성이 있습니다. 또한 이 버전에는 지원되는 Shaka Player 버전 범위에서 선택하여 로드할 수 있는 API가 도입되었습니다. 이러한 플래그는 useShakaForHlsshakaVersion 속성을 통해 CastReceiverOptions 클래스에서 제공되며 CastReceiverContext가 시작될 때 평가됩니다. HLS에 대해 Shaka를 선택한 모든 애플리케이션은 최신 HLS 개선사항을 활용하려면 Shaka 플레이어 버전을 4.3.4 이상으로 설정해야 합니다. 선택하려면 아래의 코드 스니펫을 따르세요.

const context = cast.framework.CastReceiverContext.getInstance();

let castReceiverOptions = new cast.framework.CastReceiverOptions();
castReceiverOptions.useShakaForHls = true;

context.start(castReceiverOptions);

콘텐츠 확인

파트너는 프로덕션 앱에서 Shaka Player를 사용하도록 선택하기 전에 Shaka Player에서 콘텐츠 재생을 검증해야 합니다. 아래에 나열된 각 콘텐츠의 변형을 테스트하는 것이 좋습니다.

  • 스트림 유형: 라이브 또는 VOD
  • 컨테이너 형식: TS, MP4, 기본 스트림
  • 중단되었거나 삽입된 광고가 있는 콘텐츠
  • 스마트 디스플레이, Chromecast 동글, Android TV 기기, Chromecast 내장 TV, 스마트 스피커에서 재생

오류 또는 예기치 않은 동작을 발견하면 버그를 신고하세요. 콘텐츠에 심각한 재생 오류가 없는지 확인할 수 있으면 변경사항을 프로덕션 환경으로 푸시합니다.

선택 해제

웹 수신기 SDK는 타임라인에 따라 Shaka Player HLS 콘텐츠 재생의 선택 해제 모델로 전환됩니다. useShakaForHls 속성은 기본값을 false에서 true로 변경합니다. 그러면 애플리케이션이 이 속성을 false로 수동으로 설정하여 HLS 재생에 MPL을 사용하도록 선택할 수 있습니다. CastReceiverContext가 시작되면 웹 수신기 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로 전환하면 문제가 해결되는지 확인합니다. 이 문제가 계속 발생하거나 플레이어를 전환할 때 다른 문제가 발생하면 아래 단계를 따르세요.

  1. shakaVersion를 다른 브랜치 버전으로 설정하여 문제를 해결해 보세요. 예를 들어 4.3 브랜치에서 문제가 발생하면 4.2.x 또는 3.3.x 버전의 최신 출시 버전으로 설정합니다. Shaka Player 출시 노트에서 가장 관련성 높은 업데이트가 포함된 출시를 찾아보세요. 참조 문서에 설명된 대로 shakaVersion API에는 지원되는 최소 및 최대 버전이 있습니다. 회귀가 관찰되면 Shaka Player Issue Tracker에서 문제를 신고하세요.
  2. 플레이어 구성 매개변수를 변경해 보세요. Shaka Player는 PlayerConfiguration 객체를 통해 구성할 수 있습니다. 웹 수신기 SDK는 기본값 집합을 정의하고 애플리케이션이 PlaybackConfig 객체의 shakaConfig 속성을 통해 이 구성을 수정할 수 있도록 합니다. 이는 플레이어 인스턴스가 생성되는 로드 시간 중에 평가됩니다. 더보기:

    애플리케이션 구성 및 옵션이 포함됩니다. 웹 수신기 SDK에서 설정된 기본값이 권장 값입니다.

  3. Shaka Player Issue Tracker 또는 Cast Issue Tracker에서 문제가 보고되었는지 확인하세요. 버그에 댓글을 달고 문제가 설명된 경우 관련 정보를 추가합니다.

  4. Shaka Player 데모 사이트에서 콘텐츠를 테스트하세요. 콘텐츠의 데모 사이트에서 문제가 재현되는 경우 Shaka Player 프로젝트로 버그를 신고하세요.

  5. 전송 엔드포인트의 Shaka 플레이어에 고유한 문제가 있는 경우 Cast Issue Tracker에서 버그를 신고합니다.

FAQ

선수를 바꾸면 많은 질문이 불러올 수 있습니다. 다음은 이전 프로세스를 안내하는 데 도움이 되는 가장 일반적인 질문의 답변입니다.

Shaka Player로 이전해야 하나요?

HLS 콘텐츠를 사용하는 파트너는 가능한 한 빨리 이전 프로세스를 시작하는 것이 좋습니다. 따라서 앱에서 사용자에게 더 강력한 스트리밍 환경을 제공합니다. 더 많은 혜택은 이 가이드의 Shaka Player 혜택 섹션에 설명되어 있습니다. 파트너는 원활한 전환을 위해 Shaka Player를 사용하여 앱이 올바르게 작동하는지 확인해야 합니다. 파트너가 미리 콘텐츠가 Shaka Player에서 제대로 재생되는지 확인하지 않으면 일부 앱은 선택 해제 모델웹 수신기 SDK가 전환될 때 위험할 수 있습니다.

플레이어를 변경할 때 예상되는 노력 수준은 어느 정도인가요?

파트너는 테스트 환경에서 애플리케이션과 콘텐츠를 테스트하여 HLS와 비교했을 때 사용자 환경이 유사하거나 개선되는지 확인해야 합니다. 이렇게 하려면 파트너는 내부 환경에서 이 기능을 선택하고 Shaka Player를 사용하여 콘텐츠를 재생할 수 있는지 철저히 테스트해야 합니다. 콘텐츠의 어떤 측면에 중점을 두어야 하는지에 관한 자세한 내용은 콘텐츠 유효성 검사를 참고하세요. 검증 후 파트너는 프로덕션 애플리케이션 환경에서 옵트인할 플래그를 추가하여 Shaka Player가 제공하는 이점을 활용해야 합니다. 개략적으로는 파트너가 성공적으로 마이그레이션하기 위한 최소한의 소프트웨어 개발 변경사항과 대부분 QA 요구사항이 있습니다.

내 애플리케이션에서 곧 HLS를 사용하여 콘텐츠를 스트리밍할 예정입니다. 어떻게 해야 하나요?

새로운 통합에서는 재생에 Shaka 플레이어를 사용하도록 선택해야 합니다. 장기적으로는 애플리케이션이 더 잘 지원되며 새로운 HLS 기능과 성능 개선사항도 활용할 수 있습니다. 새 통합에 문제가 발생하면 엔지니어링팀이 문제를 해결할 수 있도록 가능한 한 빨리 버그를 신고하세요. 애플리케이션의 기한이 촉박한 경우 이에 따라 우선순위를 정하는 데 미치는 영향과 함께 버그 신고에 해당 정보를 포함합니다. Google 엔지니어링팀은 사용자를 적절하게 지원할 수 있는 솔루션을 제공하기 위해 노력할 것입니다.

콘텐츠나 앱이 Shaka Player와 호환되지 않습니다. 이제 어떻게 해야 하나요?

Shaka Player 프로젝트 또는 Cast 프로젝트에 버그를 신고해야 합니다(문제 신고 참고). Cast SDK 엔지니어링팀은 이러한 추적기를 적극적으로 모니터링하고 있으며, 당면한 문제를 해결하기 위해 귀하와 협력할 것입니다. 이러한 문제가 일찍 감지될수록 수정사항을 제공할 수 있는 시간이 더 많아집니다.

MPL은 더 이상 중요 업데이트를 수신하지 않습니다. 정확히 무엇을 의미하나요?

지금까지 MPL은 새로운 HLS 기능을 채택하고 중요한 업데이트를 통해 주요 버그를 패치했습니다. 이제 MPL은 더 이상 HLS 기능을 수신하지 않으므로 새 HLS 기능이 플레이어에 추가되지 않습니다. 마찬가지로 MPL의 HLS 재생과 관련하여 보고된 모든 문제는 MPL에서 수정되지 않습니다. 이 문제는 재생을 위해 Shaka Player로 전환하여 해결해야 합니다. 문제가 지속되면 Shaka Player에서 발생한 관련 문제와 함께 버그를 제출해야 합니다. 파트너는 MPL 사용을 중단해야 합니다.

콘텐츠에서 스무스 스트리밍 프로토콜을 사용하는 경우 애플리케이션에 어떤 영향을 주나요?

MPL 바이너리는 수신기 애플리케이션에서 계속 호스팅되고 액세스할 수 있습니다. 하지만 Smooth Streaming 사양이 4년 넘게 업데이트되지 않았으므로 스무스 스트리밍 관련 기능 요청 및 버그 수정은 지원되지 않습니다. 계속해서 콘텐츠 성능 업데이트와 지원을 받으려면 DASH 또는 HLS 스트리밍 프로토콜을 사용하도록 콘텐츠를 이전하는 것이 좋습니다.

콘텐츠가 HLS 또는 Smooth Stream 프로토콜을 사용하지 않는데 애플리케이션에 어떤 영향을 주나요?

콘텐츠 라이브러리가 이러한 스트리밍 프로토콜을 사용하지 않으면 이전의 영향을 받지 않습니다. 애플리케이션을 변경할 필요는 없습니다.