HLS sulla migrazione del player Shaka

Panoramica

L'SDK Cast Web Receiver supporta la riproduzione di contenuti utilizzando diversi protocolli di streaming web. In base al protocollo utilizzato, l'SDK carica un player per gestire la riproduzione dei contenuti. Nel caso di contenuti HLS, viene caricata la libreria Media Player (MPL). Nel caso di contenuti DASH, viene caricato Shaka Player.

In futuro, i team di ingegneria di Cast SDK e Shaka Player si impegneranno a migliorare il supporto della riproduzione dei contenuti HLS su Shaka Player. MPL non riceverà più aggiornamenti critici. Ti consigliamo di attivare l'utilizzo di Shaka Player per la riproduzione dei contenuti HLS della tua applicazione.

Vantaggi di Shaka Player

Quando cambiano i giocatori, le applicazioni usufruiscono dei seguenti vantaggi:

  • Sessioni di streaming più affidabili per gli utenti, con miglioramenti in termini di tempo di caricamento, errori e latenza.
  • Adozione continua delle ultime funzionalità HLS.
  • Maggiore chiarezza nell'analisi delle cause principali per i problemi di compatibilità tra i contenuti e il player dovuti alla natura open source di Shaka Player.
  • Il codice sorgente del player open source consente ai partner di contribuire al progetto Shaka Player.
  • Una significativa riduzione del tempo di implementazione delle funzionalità e della correzione dei bug in produzione, in quanto la cadenza di rilascio di Shaka Player è frequente e indipendente dalle release dell'SDK Web Receiver.
  • Maggiore controllo sull'ambiente di riproduzione fornito dall'API shakaVersion.
  • Maggiore supporto per la riproduzione da parte di Google con risorse di ingegneria rivolte alla riproduzione HLS su Shaka Player, come indicato nella roadmap.

Cronologia

L'SDK Web Receiver passerà all'utilizzo di Shaka Player come player predefinito per la riproduzione dei contenuti HLS. Questo verrà fatto in modo graduale per guidare i partner nella procedura di migrazione.

Fase Data di inizio Panoramica
1 Ott '22 L'SDK Cast Web Receiver introduce API da attivare per riprodurre i contenuti HLS su Shaka Player.
2 1ª metà del 2025 L'SDK Cast Web Receiver imposta Shaka Player come player predefinito per la riproduzione dei contenuti HLS.

I team di ingegneria dell'SDK Web Receiver adottano un approccio incentrato sul rendimento e passeranno alla fase successiva solo quando il rendimento di Shaka Player sarà equiparato al rendimento di riferimento di MPL. Queste modifiche verranno annunciate nel gruppo Google cast-sdk-announcements e aggiornate in questa guida.

Attiva

A partire dalla versione 3.0.0105 di CAF, è disponibile una configurazione a livello di applicazione per attivare l'utilizzo di Shaka Player per la riproduzione HLS. Questa versione introduce inoltre un'API per selezionare da un intervallo supportato di versioni di Shaka Player da caricare. Questi flag sono forniti nella classe CastReceiverOptions tramite le proprietà useShakaForHls e shakaVersion e vengono valutati al momento dell'avvio di CastReceiverContext. Qualsiasi applicazione che attiva Shaka per HLS deve impostare una versione di Shaka Player di almeno 4.3.4 per sfruttare i miglioramenti HLS più recenti. Per attivare questa funzionalità, segui lo snippet di codice riportato di seguito:

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

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

context.start(castReceiverOptions);

Convalida i contenuti

I partner devono convalidare la riproduzione dei contenuti su Shaka Player prima di attivare l'utilizzo di Shaka Player nella loro app di produzione. Ti consigliamo di testare ciascuna delle varianti dei contenuti elencate di seguito:

  • Tipi di stream: LIVE o VOD
  • Formati contenitore: TS, MP4 o stream elementari
  • Contenuti con discontinuità o annunci incorporati
  • Riproduzione sui seguenti tipi di dispositivi: smart display, dongle Chromecast, dispositivi Android TV, TV con Chromecast integrato, smart speaker

Se rilevi errori o comportamenti imprevisti, segnala un bug. Una volta che hai verificato che non ci sono errori di riproduzione critici nei contenuti, invia le modifiche all'ambiente di produzione.

Disattiva

L'SDK Web Receiver passerà a un modello di disattivazione per la riproduzione dei contenuti HLS di Shaka Player in base alle tempistiche. Il valore predefinito della proprietà useShakaForHls cambierà da false a true. A quel punto, le applicazioni possono scegliere di utilizzare MPL per la riproduzione HLS impostando manualmente questa proprietà su false. Quando viene avviato CastReceiverContext, l'SDK Web Receiver torna a caricare MPL anziché Shaka Player. Di seguito è riportato un esempio di come disattivare la funzionalità:

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

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

context.start(castReceiverOptions);

Problemi con i rapporti

Invitiamo i nostri partner a segnalare eventuali problemi riscontrati durante la riproduzione di contenuti HLS. Come accennato, MPL non riceverà più aggiornamenti critici. Se si verificano problemi con MPL, segui i passaggi descritti nella sezione Attivazione della guida per verificare se il passaggio a Shaka Player risolve il problema. Segui i passaggi riportati di seguito se il problema persiste o se riscontri un altro problema quando cambi lettore.

  1. Per risolvere il problema, prova a impostare shakaVersion su una versione del ramo diversa. Ad esempio, se il problema si verifica nel ramo 4.3, prova a impostarlo sull'ultima release nelle versioni 4.2.x o 3.3.x. Consulta le note di rilascio di Shaka Player per trovare le release con gli aggiornamenti più pertinenti. Tieni presente che l'API shakaVersion ha una versione minima e massima supportata, come descritto nella documentazione di riferimento. Se noti che è presente una regressione, segnala il problema nell'issue tracker di Shaka Player.
  2. Prova a modificare i parametri di configurazione del player. Shaka Player è configurabile tramite l'oggetto PlayerConfiguration. L'SDK Web Receiver definisce un insieme di valori predefiniti e consente alle applicazioni di modificare questa configurazione tramite la proprietà shakaConfig nell'oggetto PlaybackConfig. Questo viene valutato durante il tempo di caricamento quando viene creata l'istanza del player. Altre in

    Configurazione e opzioni dell'applicazione. I valori predefiniti impostati dall'SDK Web Receiver sono i valori consigliati.

  3. Controlla se il problema è stato segnalato nel tracker dei problemi di Shaka Player o nel tracker dei problemi di Cast. Commenta il bug e aggiungi eventuali informazioni pertinenti se descrive anche il tuo problema.

  4. Esegui il test dei tuoi contenuti sul sito demo di Shaka Player. Se il problema si verifica nel sito demo per i tuoi contenuti, segnala un bug al progetto Shaka Player.

  5. Segnala un bug nell'Issue Tracker di Google Cast se hai un problema specifico di Shaka Player sugli endpoint di trasmissione.

Domande frequenti

Il cambio di giocatori può suscitare molte domande. Di seguito sono riportate le risposte alle domande più comuni per aiutarti a eseguire la procedura di migrazione.

Devo eseguire la migrazione a Shaka Player?

Invitiamo i nostri partner che utilizzano contenuti HLS a iniziare la procedura di migrazione il prima possibile. Di conseguenza, la tua app offrirà agli utenti un'esperienza di streaming più solida. Altri vantaggi sono descritti nella sezione Vantaggi di Shaka Player di questa guida. I partner devono verificare che le loro app funzionino correttamente utilizzando Shaka Player per garantire una transizione senza problemi. Alcune app potrebbero essere a rischio quando l'SDK Web Receiver subirà la transizione a un modello di disattivazione se i partner non verificano in anticipo che i loro contenuti vengano riprodotti correttamente su Shaka Player.

Qual è il livello di impegno previsto quando si cambiano i giocatori?

I partner dovranno testare la propria applicazione e i propri contenuti in un ambiente di test per assicurarsi che l'esperienza utente sia simile o migliorata rispetto a HLS. Per farlo, i partner dovranno attivare la funzionalità in un ambiente interno e verificare attentamente che i loro contenuti possano essere riprodotti utilizzando Shaka Player. Per informazioni dettagliate su quali aspetti dei tuoi contenuti prendere in considerazione, consulta la sezione sulla convalida dei contenuti. Una volta convalidati, i partner dovranno aggiungere il flag di attivazione nel proprio ambiente di applicazione di produzione per iniziare a usufruire dei vantaggi offerti da Shaka Player. A un livello generale, esistono modifiche minime allo sviluppo software e requisiti di QA per consentire ai nostri partner di eseguire la migrazione correttamente.

La mia applicazione utilizzerà presto HLS per trasmettere contenuti in streaming. Cosa devo fare?

Le nuove integrazioni devono attivare l'utilizzo di Shaka Player per la riproduzione. La tua applicazione sarà supportata meglio nel lungo periodo e potrà anche usufruire delle nuove funzionalità HLS e dei miglioramenti delle prestazioni. Se la nuova integrazione presenta problemi, segnala un bug il prima possibile per dare al team di ingegneria tempo sufficiente per risolverlo. Se la tua applicazione ha una scadenza serrata, includi queste informazioni nella segnalazione di bug, nonché l'impatto, per stabilire le priorità di conseguenza. Il nostro team tecnico si adopererà per trovare una soluzione per supportare adeguatamente i tuoi utenti.

I miei contenuti o la mia app non funzionano con Shaka Player. Che cosa devo fare?

Devi segnalare un bug al progetto Shaka Player o al progetto Cast (vedi Segnalare problemi). Il team tecnico dell'SDK Cast monitora attivamente questi tracker e collaborerà con te per risolvere eventuali problemi. Quanto prima vengono rilevati questi problemi, più tempo avrai per trovare una soluzione.

MPL non riceve più aggiornamenti critici. Che cosa significa esattamente?

In passato, MPL ha adottato nuove funzionalità HLS e corretto i bug principali tramite aggiornamenti critici. Ora che MPL non le riceverà più, le nuove funzionalità HLS non verranno aggiunte al player. Analogamente, eventuali problemi segnalati per la riproduzione HLS su MPL non verranno risolti in MPL. Questi problemi dovrebbero essere risolti passando a Shaka Player per la riproduzione. Se i problemi persistono, deve essere inviato un bug con i problemi pertinenti riscontrati su Shaka Player. I partner devono smettere di utilizzare MPL.

I miei contenuti utilizzano il protocollo Smooth Streaming. Quali saranno le conseguenze per la mia applicazione?

I file binari MPL continueranno a essere ospitati e accessibili all'applicazione di ricezione. Tuttavia, le richieste di funzionalità e le correzioni di bug relative a Smooth Streaming non saranno supportate perché la specifica di Smooth Streaming non è stata aggiornata da oltre quattro anni. Ti consigliamo di eseguire la migrazione dei tuoi contenuti in modo da utilizzare il protocollo di streaming DASH o HLS per continuare a ricevere aggiornamenti sul rendimento e assistenza per i tuoi contenuti.

I miei contenuti non utilizzano i protocolli HLS o Smooth Stream. Quali sono le conseguenze per la mia applicazione?

Se la tua raccolta di contenuti non utilizza nessuno di questi protocolli di streaming, la migrazione non ti interesserà. Non sono necessarie modifiche all'applicazione.