Shaka 플레이어 이전 시 HLS

개요

Cast Web Receiver 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 Player를 사용하도록 전환됩니다. 파트너가 이전 프로세스를 진행할 수 있도록 단계적으로 진행됩니다.

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

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

선택

CAF 버전 3.0.0105부터 HLS 재생에 Shaka Player를 사용하도록 선택하는 애플리케이션 수준 구성이 있습니다. 또한 이 버전에서는 지원되는 다양한 Shaka Player 버전 중에서 선택하여 로드할 수 있는 API를 도입합니다. 이러한 플래그는 useShakaForHlsshakaVersion 속성을 통해 CastReceiverOptions 클래스에 제공되며 CastReceiverContext가 시작될 때 평가됩니다. HLS용 Shaka를 선택하는 모든 애플리케이션은 최신 HLS 개선사항을 활용하려면 Shaka Player 버전을 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 Player 고유의 문제가 발생하면 Cast Issue Tracker에서 버그를 신고하세요.

FAQ

선수를 교체하면 많은 질문이 제기될 수 있습니다. 아래에서 이전 프로세스를 진행하는 데 도움이 되는 가장 일반적인 질문과 답변을 확인하세요.

Shaka Player로 이전해야 하나요?

HLS 콘텐츠를 사용하는 파트너는 최대한 빨리 이전 절차를 시작하는 것이 좋습니다. 따라서 앱에서 사용자에게 더 안정적인 스트리밍 환경을 제공할 수 있습니다. 자세한 내용은 이 가이드의 Shaka Player 이점 섹션을 참고하세요. 파트너는 원활한 전환을 위해 Shaka Player를 사용하여 앱이 제대로 작동하는지 확인해야 합니다. 파트너가 콘텐츠가 Shaka Player에서 제대로 재생되는지 사전에 확인하지 않으면 일부 앱은 Web Receiver SDK가 전환선택 해제 모델로 전환될 위험이 있습니다.

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

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

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

새 통합에서는 재생에 Shaka Player를 사용하도록 선택해야 합니다. 애플리케이션이 장기적으로 더 효과적으로 지원되고 새로운 HLS 기능과 성능 개선사항을 활용할 수 있습니다. 새 통합에 문제가 발생하면 엔지니어링팀이 문제를 해결할 수 있는 충분한 시간을 확보할 수 있도록 최대한 빨리 버그를 신고하세요. 애플리케이션의 기한이 촉박한 경우 버그 신고에 해당 정보와 영향을 포함하여 적절하게 우선순위를 지정하세요. YouTube 엔지니어링팀에서 사용자를 적절하게 지원할 수 있는 솔루션을 제공하기 위해 노력하고 있습니다.

콘텐츠 또는 앱이 Shaka 플레이어에서 작동하지 않습니다. 이제 어떻게 해야 하나요?

Shaka Player 프로젝트 또는 Cast 프로젝트에 버그를 신고해야 합니다(문제 신고 참고). Cast SDK 엔지니어링팀은 이러한 위치 추적기를 모니터링하고 있으며, 발생한 문제를 해결하기 위해 최선을 다하겠습니다. 이러한 문제가 조기에 감지될수록 수정사항을 제공하는 데 더 많은 시간이 소요됩니다.

MPL이 더 이상 중요한 업데이트를 받지 못한다는 것은 정확히 무슨 의미인가요?

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

콘텐츠에서 Smooth Streaming 프로토콜을 사용합니다. 이로 인해 애플리케이션에 어떤 영향을 미치나요?

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

콘텐츠에서 HLS 또는 Smooth Stream 프로토콜을 사용하지 않습니다. 그러면 애플리케이션에 어떤 영향을 주나요?

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