8Sep

Waarom YouTube in Chrome( en Firefox) de batterij van je laptop leegmaakt en hoe je dit kunt verhelpen

Stottert YouTube, verwarm je je laptop, schop je je fans in de versnelling of gebruik je gewoon veel CPU's? Zelfs als je het nog nooit hebt gemerkt, gebruikt YouTube in Chrome vrijwel zeker meer batterijvermogen dan nodig is. Net als de andere prestatieproblemen van Chrome is dit waarschijnlijk het slechtst op Macs.

Dit is een gevolg van de verschuiving naar HTML5-video en eigenaardigheden met de videocodecs die door YouTube worden gebruikt in Chrome versus andere browsers. Houd het bij en we zullen uitleggen waarom Google YouTube-weergave zo inefficiënt heeft gemaakt. Firefox heeft mogelijk ook hetzelfde probleem.

HTML5, H.264, VP8 en VP9

YouTube heeft de Flash-video-invoegtoepassing nu grotendeels gedumpt voor HTML5-videoweergave. Maar HTML5-videoweergave is niet gestandaardiseerd. Browsers kunnen kiezen welke videocodec zij willen gebruiken, en er is geen enkele codec die alle browsers verkiezen.

Toen YouTube Flash gebruikte, gebruikte het de H.264-codec voor het afspelen van video's. Video's met deze codec hebben meestal de extensie. mp4 en worden vaak MP4-video's genoemd. Dit is een de facto standaard voor de hele industrie die verder gaat dan alleen webbrowsers.

Safari, Internet Explorer, Microsoft Edge, Chrome en Firefox bevatten allemaal ondersteuning voor het afspelen van H.264-gecodeerde video's, hoewel Firefox zijn hielen heeft ingegraven en vermeden dit zo lang mogelijk te laten duren.

Hoewel Apple en Microsoft alleen H.264 ondersteunen voor het afspelen van video's in hun browsers, heeft Google ook zijn eigen codecs gebruikt. Google verwierf de VP8-codec en bouwde hem in Chrome, en Firefox volgde zijn voorbeeld. Google pusht nu de VP9-codec van de volgende generatie, die nu ook is ingebouwd in Chrome en Firefox. Bestanden die deze codec gebruiken, hebben meestal de extensie. webm en worden ook wel WebM-bestanden genoemd.

Waarom heeft Google VP8 en VP9 gemaakt?

Hoewel H.264 een de facto standaard is voor de hele industrie, heeft dit een aanzienlijk probleem. De onderliggende technologieën worden gedekt door een grote verscheidenheid aan patenten. Om deze technologieën te gebruiken, bijvoorbeeld als u ze tot een product bouwt, moet u een vergoeding betalen voor de H.264-octrooiportefeuille.

Daarom hield Mozilla zo lang stand tegen H.264 - het wilde dat het web gebaseerd zou zijn op een open standaard waarvoor geen kosten hoefden te worden betaald. Google heeft VP8 en VP9 vrijgegeven met een onherroepelijke patentbelofte, waardoor mensen kunnen doen wat ze maar willen - Google zal geen patentkosten proberen te verkrijgen. Cisco betaalt effectief de licentiekosten en biedt een gratis plug-in voor Firefox-gebruikers. Firefox downloadt deze plug-in automatisch en gebruikt deze om H.264-ondersteuning in te schakelen.

VP8 heeft geen tractie bereikt

Maar Google was niet bijzonder succesvol met VP8.Begin 2011 kondigde Google aan dat het H.264-ondersteuning van Chrome zou verwijderen om alleen open codecs zoals VP8 en Theora te ondersteunen. Meer dan vier jaar later deed Google dit nooit en sindsdien hebben we niets meer van die belofte gehoord.

Mozilla hield waarschijnlijk vast aan dat Google zijn belofte nakwam, maar Google kon het nooit - in plaats daarvan liet Mozilla jaren later H.264-ondersteuning over en voegde het toe. H.264 is de huidige de facto standaard codec, leuk of niet - en, bij gebruik van een Apple- of Microsoft-browser, is dit de enige beschikbare. Het is ook de enige echte optie voor mobiele browsers. Veel websites hebben HTML5-video geïmplementeerd met alleen H.264-ondersteuning en Chrome en FIrefox zouden worden afgesloten als ze H.264 niet ondersteunen.

Het echte probleem: hardwareversnelling

Er is één eenvoudig, kernprobleem hier. H.264-decodering( afspelen) is hardware-versneld. Dit betekent dat het "werk" van het afspelen van een H.264-videobestand op een veel efficiëntere manier door de grafische processor( GPU) wordt gedaan. Als hardwarecodering niet beschikbaar was, zou de CPU al het werk op een minder efficiënte manier moeten doen. Dit betekent dat het afspelen minder CPU-tijd kost, waardoor er minder batterijvermogen wordt verspild en er minder warmte wordt gegenereerd. Het kan ook een vloeiendere weergave betekenen als de CPU het afspelen van de video niet bij kan houden.

Echt, alle moderne hardware ondersteunt H.264 hardwareversnelde decodering. Dit omvat alle soorten smartphones, tablets, pc's, Mac's en zelfs Chromebooks. Wanneer een webbrowser - ja, zelfs Chrome - H.264-video afspeelt, wordt deze naar de GPU overgebracht. Zelfs door Adobe Flash ondersteunde hardwareversnelling van H.264-video.

Maar er is geen hardware die VP8- en VP9-video's zal versnellen. Toen Google medio 2010 VP8 aankondigde, kondigden diverse bedrijven waaronder grote namen als nVIDIA, AMD en Qualcomm aan dat ze VP8 in hun producten zouden ondersteunen. Maar meer dan vijf jaar later arriveerden er nooit apparaten met hardwareversnelde VP8-decodering.

In Google's recente aankondiging van VP9, ​​merkt het op: "Meer dan 20 apparaatpartners in de industrie lanceren producten in 2015 en daarna met behulp van VP9." Hetzelfde bericht vermeldt ook andere voordelen van VP9, ​​zoals een kleinere bestandsgrootte voor dezelfde kwaliteit. Intel, nVIDIA, AMD en andere bedrijven hebben beloofd hardware-versnelde decodering van VP9 te ondersteunen.

We zochten naar hardware die hardwareversnelde VP9-decodering ondersteunt, en we ontdekten dat Intel nieuwe Haswell- en Broadwell-stuurprogramma's voor Windows uitbracht met "gedeeltelijke ardwareardware( acceleratie) versnellingsondersteuning" voor VP9 aan het begin van 2015. Het is duidelijk dat er eener moet nog veel meer worden gedaan.

Net als de andere prestatieproblemen van Chrome kan dit op een Mac erger zijn. Chrome-ingenieurs sloten een bug af over een hoog CPU-gebruik en warmteontwikkeling op een MacBook met de opmerking "CPU-gebruik tijdens VP9-weergave op een Mac is geen bug." Dat kan waar zijn, maar Google zou waarschijnlijk niet al die VP9-video's moeten presenterenvoor Chrome-gebruikers op Macs als een hoog CPU-gebruik normaal is. Dat moedigt Mac-gebruikers juist aan om Safari te gebruiken.

Hoe maak je YouTube Play Video's effectiever

Het is echt een kip en ei probleem, fabrikanten gaan geen hardwareversnelde VP9 implementeren totdat het daadwerkelijk in de echte wereld wordt gebruikt. Google loste dit probleem op door VP8 en VP9 aan Chrome toe te voegen en YouTube te laten zien VP9- en VP8-video's aan Chrome te leveren. YouTube kan ook VP8- en VP9-video's aan Firefox aanbieden.

Dit kan wat downloadtijd besparen, maar het betekent dat YouTube meer batterijvermogen en CPU-cycli in Chrome verbruikt. Op apparaten met bijzonder trage CPU's kunnen video's zelfs stotteren in plaats van soepel af te spelen.

Om efficiënter te kunnen afspelen, kunt u eenvoudig overschakelen naar Safari, Microsoft Edge of Internet Explorer. Maar dat hoeft u niet te doen. U kunt de h264ify-browserextensie voor Chrome installeren, waardoor Chrome H.264-video's van YouTube vraagt. Ze zien er hetzelfde uit, maar Chrome speelt ze soepeler af.

Download h264ify voor Chrome, download h264ify voor Firefox of raadpleeg de projectpagina op GitHub voor meer details

Hoe te zien of YouTube H.264, VP8 of VP9

gebruikt Om te controleren welke codec YouTube voor je browser gebruikt,- klik tijdens het afspelen op een YouTube-video en selecteer 'Statistieken voor nerds'. Rechts van 'Mime Type' ziet u 'video / mp4' en de 'avc'-codec voor H.264 / MP4-video's.

Voor VP8- en VP9-video's zie je "video / webm" en "vp9" of "vp8".

In de longrun is Google's VP9-push misschien beter voor het web en leidt het tot hardware die een versnelde decodering van deze nieuwe codec mogelijk maakt. Maar in het heden wilt u mogelijk de levensduur van de batterij verlengen en uw laptop efficiënter laten werken, waarbij u zich afmeldt voor het experiment van Google en H.264-video gebruikt.

Image Credit: Esther Vargas op Flickr