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 uniranno le forze per aumentare il supporto della riproduzione di 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 errori di caricamento e latenza.
  • Adozione continua delle funzionalità HLS più recenti.
  • Maggiore chiarezza nell'analisi delle cause principali per i problemi di compatibilità tra player e contenuti dovuti alla natura open source di Shaka Player.
  • Il codebase del player open source consente ai partner di contribuire al progetto Shaka Player.
  • Una riduzione significativa del tempo di rilascio in produzione di funzionalità e correzioni di bug, poiché la cadenza di rilascio di Shaka Player è frequente e indipendente dai rilasci dell'SDK Web Receiver.
  • Maggiore controllo sull'ambiente di riproduzione fornito dall'API shakaVersion.
  • Maggiore supporto alla riproduzione da parte di Google con risorse di ingegneria incentrate sulla 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 di contenuti HLS. Questa operazione verrà eseguita in modo graduale per guidare i partner durante il processo di migrazione.

Fase Data di inizio Panoramica
1 Ottobre 2022 L'SDK Cast Web Receiver introduce API per attivare la riproduzione di contenuti HLS su Shaka Player.
2 Nov 2025 L'SDK Cast Web Receiver cambia il player predefinito in Shaka Player per la riproduzione di contenuti HLS.

I team di ingegneria dell'SDK Web Receiver stanno adottando un approccio basato sulle prestazioni e passeranno alla fase successiva solo quando le prestazioni di Shaka Player saranno pari a quelle di base 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 anche un'API per selezionare un intervallo supportato di versioni di Shaka Player da caricare. Questi flag vengono forniti nella classe CastReceiverOptions tramite le proprietà useShakaForHls e shakaVersion e vengono valutati all'avvio di CastReceiverContext. Qualsiasi applicazione che sceglie Shaka per HLS deve impostare una versione di Shaka Player di almeno 4.15.12 per sfruttare i miglioramenti più recenti di HLS. 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 eseguire test per ciascuna delle varianti dei contenuti elencate di seguito:

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

Se riscontri errori o comportamenti imprevisti, segnala un bug. Una volta verificato che non si verificano errori di riproduzione critici nei tuoi contenuti, trasferisci le modifiche all'ambiente di produzione.

Disattiva

L'SDK Web Receiver passerà a un modello di disattivazione per la riproduzione di contenuti HLS di Shaka Player in base alla cronologia. La proprietà useShakaForHls cambierà il suo valore predefinito 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 tornerà a caricare MPL anziché Shaka Player. Per scoprire come disattivare la funzionalità, consulta l'esempio riportato di seguito:

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 problema diverso quando cambi lettore.

  1. Prova a impostare shakaVersion su una versione del ramo diversa per risolvere il problema. Ad esempio, se il problema si verifica nel ramo 4.15, prova a impostarlo sull'ultima release in un altro ramo. Consulta le note di rilascio di Shaka Player per trovare le versioni 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 si è verificata una regressione, segnala il problema nello strumento di monitoraggio dei problemi 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 valore viene valutato durante il tempo di caricamento quando viene creata l'istanza del player. Scopri di più sulla configurazione e sulle opzioni dell'applicazione. I valori predefiniti impostati dall'SDK Web Receiver sono i valori consigliati.
  3. Controlla se il problema è stato segnalato in Shaka Player issuetracker o in Cast issuetracker. Commenta il bug e aggiungi eventuali informazioni pertinenti se descrive anche il tuo problema.
  4. Testa i tuoi contenuti sul sito demo di Shaka Player. Se riscontri che il problema si riproduce nel sito demo per i tuoi contenuti, segnala un bug al progetto Shaka Player.
  5. Apri un bug in Issue Tracker di Cast se riscontri un problema specifico di Shaka Player sugli endpoint di trasmissione.

Domande frequenti

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

Devo eseguire la migrazione a Shaka Player?

Invitiamo i nostri partner che utilizzano contenuti HLS a iniziare il processo di migrazione il prima possibile. Di conseguenza, la tua app fornirà un'esperienza di streaming più solida per i tuoi utenti. 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 di quando l'SDK Web Receiver passa 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 per il cambio di 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 migliore rispetto a HLS. Per farlo, i partner dovranno attivare la funzionalità in un ambiente interno e testare a fondo la riproduzione dei contenuti utilizzando Shaka Player. Consulta la sezione Convalida dei contenuti per informazioni dettagliate sugli aspetti dei tuoi contenuti su cui concentrarti. Una volta convalidati, i partner dovranno aggiungere il flag di attivazione nell'ambiente dell'applicazione di produzione per iniziare a usufruire dei vantaggi offerti da Shaka Player. A livello generale, sono necessari cambiamenti minimi nello sviluppo del software e principalmente requisiti di controllo qualità per consentire ai nostri partner di eseguire la migrazione correttamente.

La mia applicazione utilizzerà presto HLS per lo streaming di contenuti. Cosa devo fare?

Le nuove integrazioni devono attivare l'utilizzo di Shaka Player per la riproduzione. La tua applicazione sarà supportata meglio a lungo termine e trarrà vantaggio dalle nuove funzionalità HLS e dai miglioramenti delle prestazioni. Se la nuova integrazione presenta problemi, segnala un bug il prima possibile per dare al team di ingegneri il tempo sufficiente per risolvere il problema. Se la tua applicazione ha una scadenza imminente, includi queste informazioni nel report sui bug, nonché l'impatto per dare la priorità di conseguenza. Il nostro team tecnico si adopererà per fornire una soluzione che supporti adeguatamente i tuoi utenti.

I miei contenuti o la mia app non funzionano con Shaka Player. 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. Prima vengono rilevati questi problemi, più tempo avranno a disposizione per fornire una correzione.

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

In passato, MPL ha adottato nuove funzionalità HLS e corretto bug importanti tramite aggiornamenti critici. Ora che MPL non li riceverà più, le nuove funzionalità HLS non verranno aggiunte al player. Allo stesso modo, eventuali problemi segnalati per la riproduzione HLS su MPL non verranno risolti in MPL. Questi problemi devono essere risolti passando a Shaka Player per la riproduzione. Se i problemi persistono, deve essere segnalato un bug con i problemi pertinenti riscontrati su Shaka Player. I partner devono abbandonare l'utilizzo della MPL.

I miei contenuti utilizzano il protocollo Smooth Streaming. Qual è l'impatto sulla mia applicazione?

I file binari MPL continueranno a essere ospitati e accessibili all'applicazione ricevitore. Tuttavia, le richieste di funzionalità e le correzioni di bug relative a Smooth Streaming non saranno supportate, in quanto le specifiche di Smooth Streaming non sono state aggiornate da oltre quattro anni. Ti consigliamo di eseguire la migrazione dei tuoi contenuti per 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. Qual è l'impatto sulla mia applicazione?

Se la tua raccolta di contenuti non utilizza nessuno di questi protocolli di streaming, la migrazione non avrà alcun impatto su di te. Non sono richieste modifiche alla tua applicazione.