PLEX e CHROMECAST2 Buffering issue
In questo articolo anddrò a spiegare tutte le cose che sono riuscito a scoprire sul funzionamento di Chromecast2, come sfruttarne al massimo le sue potenzialità, ma soprattutto come eliminare i problemi di buffering trasmettendo da Plex a Chromecast2 sia attraverso l'app PLEX, sia attraverso il browser principale di plex.
Situazione Hardware di partenza:
PC con 16 Gb Ram, CPU I5 Intel 3,20 Ghz, Vodafone Station con fibra 300 e Wi-Fi 2,5 e 5 Ghz.
Film da 10 Gb di dimensione, circa 20 Mbs codifica H264 in 1080p
Primo test per capire se il surriscaldamento del Chromecast2 è un problema:
Ho messo dentro al ghiaccio il Chromecast2 e ho riscontrato comunque che in momenti variabili, la trasmissione si bloccava con un fermo immagine del film o andava a scatti continui.
Secondo test per capire se perdeva l'aggancio del segnale WiFi:
Ho comperato un adattatore per il Chromecast2 che permette di collegarlo via LAN a 100 Mbs
e ho riscontrato che i problemi rimanevano.
Analisi:
Escludendo i due precedenti problemi, ho analizzato quanta banda richiedeva il film per pessere trasmesso e nella peggiore delle ipotesi, ossia alla massima qualità, non superava i 40 Mb/s che per una Wi-Fi da 2,4 GHz sono sufficienti.
Ho però considerato che nella mia rete Ei-Fi ci sono vari dispositivi: 2 Tablet, 2 Smartphone, apparecchi vari per gestire la domotica ecc...
Dal pannello di controllo del Router ho notato che alcuni erano sulla rete da 2,4 Ghz e altri su quella da 5 Ghz.
Ora occorre sapere che la rete Wi-Fi a 5 Ghz permette dei andare a 400 Mbs reali, ben 4 volte il cavo di rete provato con il Chromecast2.
Scoperto che in realtà il Chromecast2 se "OBBLIGATO", si aggancia alla rete da 5 Ghz, ho deciso innanzi tutto di spostare il Chromecast2 e i due Smartphone che lavorano con Plex sulla rete da 5 Ghz e il resto su quella da 2,4 Ghz.
Come separare le reti WI-FI nella Vodafone Station 2,4 Ghz e 5 Ghz
Attivare la Separazione SSID e si avranno due reti Wi-Fi distinte, agganciare manualmente i dispositivi ad ogni rete, configurandoli individuamente.
Sul pannello principale del router si vedranno i 3 dispositivi, compreso il Chromecast2, che ora avrà ben 400 Mbs per lavorare anche con Netflix o altro.
Seconda Analisi:
Dopo aver effettuato questa separazione, Chromecast2 in generale andava in maniera fantastica, ma il problema lo riscontravo ancora, vedendo dal pannello di Plex che andava in Buffering.
Ho notato in tutto questo, che quando trasmettevo film in H265, il processore lavorava davvero tanto nel mio pc, mentre quando trasmettevo in H264, era al massimo al 3% di carico.
Quindi ho dedotto che quando si trasmette in H264 da Plex, lo streaming è diretto e anche se la banda non è alta, si obbliga il Chromecast2 a farsi carico di tutta la decodifica.
Questo è sicuramente un carico eccessivo per il nostro scatolotto, e allora ho dedotto che in qualche modo dovevo alleggerire la trasmissione che non era corposa, ma era complessa.
Ho studiato quindi delle impostazioni sia Web, sia Server lato Plex, ma anche lato app Plex su Andorid quando si fa lo streaming partendo dal telefono che fanno carico al server per la decodifica, alleggerendo il Chromecast2.
Ebbene si, l'app sul telefono usa le impostazioni del telefono, e bypassa quelle messe sul server, occorre quindi settare tutto al meglio.
Come settare PLEX
Queste impostazioni sono per la parte WEB, ossia quando si va in Cast sul CHROMECAST2, attraverso la stessa pagina Web del server di Plex.
Evitare lo streaming diretto:
Aumentare il Buffer per sicurezza, non fa mai male:
Semplificare la trasmissione al massimo:
IMPOSTAZIONI LATO SERVER di PLEX:
Accellerare al massimo il transcoder, facendo gestire a lui il carico sulla CPU:
In questo modo vedrete nella cartella di appoggio (Directory temporanea del transcoder), creare dei file temporanei, questi saranno i pezzi transcodificati che verranno poi trasmessi al Chromecast.
Tutto questo è fantastico, ma se non si setta poi bene l'app PLEX nel telefono, quando si aggancia dallo smartphone Plex, le impostazioni del telefono, bypassano quelle del PLEX SERVER.
Come impostare l'app PLEX su Android:
Streaming al massimo, ma disabilitando la trasmissione diretta, obbligando sempre il server a lavorare:
Anche se il file è piccolo, eliminare la streaming diretto, deve sempre lavorare la CPU del server:
Sotto il riepilogo delle impostazioni, che saranno sempre al massimo della qualità, ma lavorerà sempre la CPU del server PLEX:
Consentire connessioni non sicure, per evitare di complicare la trasmissione WIFI con sistemi SSH che complicano e rallentano le trasmissioni fra i dispositivi, tanto ci si trova sempre nella nostra lan privata alla fine dei conti:
Test finale
Verificare dal server, durante lo streaming al Chromecast2 sia da WEB che da SERVER, che la CPU del server PLEX ora lavora tanto e non il 3% come prima e fatto questo, anche la banda WiFi, invece di essere sui 40Mbs occupata, sarà molto inferiore:
Ovviamente Netflix non ha questo problema, perchè è già il loro server che lavora e modula la trasmissione e la codifica al meglio, anche durante variazioni si banda o di buffer.
In questo modo, avremo replicato al meglio il lavoro che fa il server di Netflix.
Spero di essermi spiegato al meglio e di essere stato utile per qualcuno.
Io ho risolto, buona visione a tutti.