Il problema
In questi mesi particolarmente difficili abbiamo fatto un uso intenso delle piattaforme di video conferenza per le riunioni d’ufficio, per sentire i nostri cari e soprattutto per la Didattica a Distanza. Tra i vari problemi riscontrati a tutti i livelli, dalla privacy alla lentezza dei collegamenti, vi sono anche quelli dovuti al surriscaldamento dei device utilizzati per partecipare agli eventi.
Ad essere colpiti sono soprattutto i notebook e tra questi in particolare i portatili della mela, soprattutto i MacBook book Air con qualche anno di servizio all’attivo. Con questo post analizzeremo il problema cercando di farvi capire qual è la sua causa effettiva ed indicandovi, ove possibile, una soluzione.
L’insostenibile pesantezza dei codec
Durante le videochiamate su Google Meet e le altre piattaforme per la videoconferenza, per viaggiare velocemente occupando meno banda, i segnali audio e video devono essere compressi prima di essere trasmessi e decompressi all’arrivo. Queste operazioni durante l’interlocuzione tra i partecipanti vengono compiute simultaneamente: si tratta di operazioni molto onerose per la CPU e la GPU che quindi consumano molta energia e scaldano. I software adibiti a questo scopo sono i famosi codec e sono di tipo diverso a seconda del tipo di impiego per i quali sono stati progettati. Il codec usato da Google Meet si chiama VP9 e la quantità di risorse che richiede al sistema dipende molto dal fatto possa essere codificato / decodificato con l’accelerazione hardware o meno. Se il sistema ha bisogno di ricorrere alla codifica / decodifica software, l’impatto sulla CPU è notevole e questo causa surriscaldamento e consumo veloce della batteria.
Google Meet, la principale piattaforma di videoconferencing utilizza WebRTC una tecnologia open source che consente ai browser di effettuare in tempo reale la videochat. È basata su HTML5 e JavaScript. Utilizza per l’audio il codec Opus e per il video, come abbiamo visto il codec VP9, peraltro direttamente sviluppato dalla stessa Google.
VP9 è molto efficiente nella compressione ad alte risoluzioni (ad esempio YouTube utilizza VP9 esclusivamente per risoluzioni superiori a 1080p), risoluzioni in cui questo codec utilizza molta meno larghezza di banda.
L’accelerazione hardware
Il vero problema è che il codec VP9 è pochissimo supportato a livello di accelerazione hardware; tutti moderni device supportano, invece, il ben più nodo codec H.264. Google, che non ha voluto pagare le royalties al Moving Picture Experts Group per l’utilizzo di H.264, si è decisa a creare la sua famiglia di codec garantendo che sarebbero stati utilizzabili gratuitamente. Il guaio è che il suo codec finora non ha preso piede
Se un computer non supporta (o supporta solo parzialmente) il codec VP9 in maniera nativa con l’accelerazione hardware, deve poggiarsi sulla codifica / decodifica software che fa un utilizzo massivo della CPU. È proprio questoche porta al surriscaldamento e al consumo di batteria elevato. Le cose peggiorano quando condividiamo il desktop il perché così facendo si genera un altro flusso VP9 da codificare.
Il supporto per l’accelerazione hardware VP9 richiede la presenza nel sistema dei seguenti componenti compatibili:
- Hardware (es. CPU con grafica integrata o GPU)
- Sistema operativo (es. Windows, Linux o macOS)
- Browser (es. Safari o Chrome)
Questa tabella mostra quali sono i chip che consentono di decodificare e/o codificare VP9
Chip | Solo Decodifica | Codifica/Decodifica |
---|---|---|
Intel Core |
5a generazione (2015) e seguenti |
10a generazione e seguenti |
AMD Ryzen |
Dal 2000 | N/D |
AMD Radeon |
RX 5000 e successivi | N/D |
NVidia GeForce |
GTX 900 e successivi | N/D |
Qualcom Snapdragon |
630 e successivi | 800 e successivi |
Samsung Exynos |
dal 2019 | dal 2019 |
Apple serie A |
A10 e successivi | A12 e successivi |
Apple serie M |
M1 e successivi | M1 e successivi |
Questa tabella mostra quali sono i sistemi operativi che offrono supporto al codec VP9
Sistema Operativo | Solo Decodifica | Codifica/Decodifica |
---|---|---|
MacOS |
MacOS 11 Big Sur e successivi |
N/D |
Windows |
Dal 2018 circa e successivi |
Dal 2018 circa e successivi |
Linux |
Dal 2016 circa e successivi |
Dal 2016 circa e successivi |
iOS/iPadOS |
iOS 14 e successivi | N/D |
Android |
Android 8 Oreo e successivi |
Android 8 Oreo e successivi |
Questa tabella mostra quali sono i browser che offrono supporto al codec VP9
Browser | Solo Decodifica | Codifica/Decodifica |
---|---|---|
Safari |
Safari 14 e successivi | N/D |
Edge |
Dal 2020 e successivi |
Dal 2020 e successivi |
Firefox |
Dal 2016 circa e successivi |
Dal 2016 circa e successivi |
Chrome |
Dal 2016 circa e successivi |
Dal 2016 circa e successivi |
Opera |
Dal 2019 e successivi | Dal 2019 2 successivi |
Per esempio, da un MacBook Pro prodotto dal 2015 al 2019 su base Intel, il massimo che si può ottenere è la sola decodifica hardware a patto di usare Big Sur e la versione 14 di Safari; questo perché:
* La CPU, basata su Intel dalla quinta generazione 2015 alla nona 2019, supporta solo la decodifica hardware VP9;
* MacOS supporta Vp9 solo dalla versione 11 (Big Sur)e solo per quanto riguarda solo decodifica:macOS Catalina e versioni precedenti non supportano la decodifica hardware VP9, anche se la CPU Intel la supporta;
* Chrome o Safari, ma con Safari si deve impiegare la versione 14 o successiva ed è necessario abilitare la funzione “codec VP9 utilizzato in WebRTC” che è disattivata per impostazione predefinita.
Abilitare VP9 su Safari
Per abilitare VP9 su Safari:
- vai nella barra dei menu del Mac nella parte superiore dello schermo, quindi seleziona “Preferenze”. una volta aperta la finestra di dialogo Preferenze, fai clic su “Avanzate” in alto e quindi selezionare la casella di controllo accanto a “Mostra menu Sviluppo nella barra dei menu”.
- Dal menu sviluppo scegli Funzionalità sperimentali e successivamente fai comparire il segno di spunta sulla voce WebRTC VP9 codec.
È possibile abilitare VP9 anche sugli altri browser, cercando in internet si trovano moltissime guide.
Soluzioni alternative
Mentre attualmente qualsiasi sistema operativo Windows o Linux recente può supportare la codifica e la decodifica con accelerazione hardware a patto di avere uno dei chip supportati come dalla tabella sopra, i sistemi operativi Apple le cose sono più difficili, le tabelle parlano chiaro. I nuovi chip M1 e i più recenti chip della serie A impiegati sui dispositivi mobili hanno il supporto per la codifica e la decodifica mentre i sistemi operativi sono, per ora fermi alla sola decodifica.
L’hardware Apple e la maggior parte degli altri chip e sistemi operativi supportano, però, sia la codifica che la decodifica con accelerazione hardware video per H.264. H.264 non è così efficiente come VP9 e utilizzerà più larghezza di banda, ma a causa dell’accelerazione hardware completamente supportata avrà un bassissimo impatto sulla CPU,. quasi nessun assorbimento di energia aggiuntivo e cosa molto importante non c’è surriscaldamento. Quindi, invece di dannarsi per cercare il supporto nativo a VP9 si potrebbero utilizzare, mettendo d’accordo gli altri interlocutori, altre piattaforme per la video conferenza quali ad esempio FaceTime, Zoom, Microsoft Teams, WebEx, Skype, Discord.
Ad esempio, utilizzando l’app FaceTime nativa di Apple per le riunioni, spesso si avrà una risoluzione molto più elevata con immagini più nitide. Si potrà anche continuare a condividere lo schermo dall’app dei messaggi utilizzando la condivisione dello schermo di iMessage.
Limitare il danno
Se non si può utilizzare un computer con il supporto nativo alla decodifica VP9, e non è possibile cambiare piattaforma di videoconferenza, allora bisogna fare il modo che la CPU del computer sia il più possibile scarica per dedicarsi alla codifica e decodifica dei flussi audio video. Tenete aperte il minor numero possibile di tab nel browser, chiudete tutte le applicazioni che non vi servono, disabilitate gli elementi all’avvio inutili, utilizzate solo l’audio se il video non serve, non tenete tutti i microfoni accesi, parlate uno alla volta. Assicuratevi, inoltre, che dentro il case del computer non ci sia polvere. Effettuate, inoltre, un controllo dei processi attivi per verificare che non ci siano attività che rubano risorse sovraccaricando la CPU. Qualche tempo fa abbiamo spiegato come effettuare questa attività in questo articolo (link).
Contenuto originale ApplePhilosophy, riproduzione consentita linkando la fonte.
SUPPORTA Apple Philosophy
Ti sarai reso conto di quanto siano particolari gli articoli pubblicati su ApplePhilosophy. Sono il frutto di un lavoro serio di approfondimento che richiede tempo, impegno e passione. Se stai per fare un acquisto su Amazon e desideri supportare Applephilosophy, clicca sul banner qui sotto. Per ogni acquisto il blog riceverà una piccolissima percentuale. Ovviamente NON spenderai un centesimo di più di quanto avresti speso per gli stessi acquisti andando direttamente su Amazon.