8Sep
Ali YouTube stisne, ogreje svoj prenosni računalnik, prebije svoje oboževalce v orodje ali pa samo uporablja veliko CPU-ja? Tudi če še nikoli niste opazili, YouTube v Chromu skoraj zagotovo uporablja več energije baterije, kot jo potrebuje. Tako kot druge težave s storitvijo Chrome, je to verjetno najhujše pri računalniku Mac.
To je posledica prehoda na videoposnetke HTML5 in quirks z video kodeki, ki jih uporablja YouTube v Chromu v primerjavi z drugimi brskalniki. Bodite z nami in razložili bomo, zakaj je Google predvajanje videoposnetka v YouTubu tako neučinkovito. Firefox ima enako težavo.
HTML5, H.264, VP8 in VP9
YouTube je v glavnem odvrnil vtič Flash video za predvajanje videoposnetkov HTML5.Toda predvajanje videoposnetkov HTML5 ni standardizirano. Brskalniki lahko izbirajo, kateri videokodec, ki ga želijo uporabljati, in ne obstajajo samo en kodek, ki bi ga radi vsi brskalniki.
Ko je YouTube uporabil Flash, je za predvajanje videoposnetkov uporabil kodek H.264.Videoposnetki s tem kodekom običajno vsebujejo razširitev datoteke. mp4, pogosto pa jih imenujemo tudi videoposnetki MP4.To je de facto industrijski standard, ki presega spletne brskalnike.
Safari, Internet Explorer, Microsoft Edge, Chrome in Firefox vse vključujejo podporo za predvajanje videoposnetkov H.264, čeprav je Firefox vkrcala pete in se jim izogibala, kar je čim dlje.
Medtem ko Apple in Microsoft podpirata le H.264 za predvajanje videoposnetkov v svojih brskalnikih, je Google prav tako potiskal lastne kodeke. Google je kupil kodek VP8 in ga zgradil v Chrome, Firefox pa je sledil temu. Google zdaj potiska naprej kodek nove generacije VP9, ki je zdaj vgrajen v Chrome in Firefox. Datoteke, ki uporabljajo ta kodek, običajno vsebujejo razširitev. webm datoteke in se včasih imenujejo tudi datoteke WebM.
Zakaj je Google ustvaril VP8 in VP9?
Medtem ko je H.264 dejansko industrijski standard, ima velik problem. Osnovne tehnologije pokrivajo številni patenti.Če želite uporabiti te tehnologije - če bi jih na primer zgradili v izdelek - morali bi plačati nadomestilo za patentni portfelj H.264.
Zato je Mozilla tako dolgo držala proti H.264 - hotel je, da spletna stran temelji na odprtem standardu, ki ni zahteval nobenih provizij. Google je izdal VP8 in VP9 z nepreklicno patentno obljubo, ki ljudem omogoča, da delajo kar hočejo z njim - Google ne bo poskušal pridobiti patentnih honorarjev. Cisco dejansko plačuje pristojbine za licenciranje in zagotavlja brezplačen vtičnik za uporabnike Firefox. Firefox samodejno prenese ta vtičnik in ga uporablja za omogočanje podpore H.264.
VP8 ni dobil vlečenja
Toda Google ni bil posebej uspešen pri VP8.V začetku leta 2011 je Google napovedal, da bo s Chrome odstranil podporo H.264 za podporo samo odprtim kodekom, kot sta VP8 in Theora. Več kot štiri leta kasneje Google ni nikoli storil tega in od takrat še nismo slišali ničesar o tej obljubi.
Mozilla je verjetno držala, da Google sledi svoji obljubi, vendar Google nikoli ni mogel - namesto tega je Mozilla popustila in dodala podporo H.264 leta kasneje. H.264 je trenutno de facto standardni kodek, všeč ali ne, in če uporabljate brskalnik Apple ali Microsoft, je to edini, ki je na voljo. To je edina prava možnost za mobilne brskalnike. Veliko spletnih mest je uvedlo HTML5 video z samo podporo H.264, Chrome in FIrefox pa bi bili izklopljeni, če ne podpirajo H.264.
Resnični problem: strojno pospeševanje
Tukaj je en preprost, jedrnat problem. H.264 dekodiranje( predvajanje) je strojno pospešeno. To pomeni, da "delo" predvajanja video datoteke H.264 izvaja grafični procesor( GPU) na veliko bolj učinkovit način.Če dekodiranje strojne opreme ni bilo na voljo, bi CPU moral storiti vse delo na manj učinkovit način. To pomeni, da predvajanje traja manj časa CPU, kar pomeni, da je manj energije akumulatorja porabljena in manj toplote. Prav tako bi lahko pomenilo gladko predvajanje, če CPU ne more nadaljevati s predvajanjem videoposnetka.
Resnično, vsi moderni deli strojne opreme podpirajo H.264 strojno pospešeno dekodiranje. To vključuje vse vrste pametnih telefonov, tabličnih računalnikov, osebnih računalnikov, računalnikov Mac in celo Chromebookov. Ko spletni brskalnik - da, tudi Chrome - predvaja videoposnetek H.264, je odklopljen v GPU.Tudi Adobe Flash je podpiral strojno pospeševanje videa H.264.
Vendar tam ni strojne opreme, ki bo pospešila videoposnetke VP8 in VP9.Ko je Google sredi leta 2010 napovedal VP8, so številna podjetja, vključno z velikimi imeni, kot so nVIDIA, AMD in Qualcomm, najavila, da bodo podpirala VP8 v svojih izdelkih. Ampak, več kot pet let kasneje, nobena naprava nikoli ni prišla s strojno pospešeno dekodiranje VP8.
V nedavni napovedi VP9 o Googlu navaja, da "več kot 20 partnerjev v celotni industriji uvaja izdelke v letu 2015 in nadalje uporablja VP9." V istem delovnem mestu so tudi druge prednosti VP9, na primer manjša velikost datoteke za enako kakovost. Intel, nVIDIA, AMD in druga podjetja so se zavezali, da bodo podpirali strojno pospešeno dekodiranje VP9.
Iskali smo, da poiščemo strojno opremo, ki podpira strojno pospešeno dekodiranje VP9, in vse, kar smo ugotovili, je, da je Intel izdal nove gonilnike Haswell in Broadwell za operacijski sistem Windows z "delno podporo za pospeševanje pospeševanja" za VP9 na začetku leta 2015. Jasno je,veliko več dela je treba narediti.
Všeč sorodnim težavam s storitvijo Chrome, je to lahko še slabše v računalniku Mac. Inženirji Chrome so zaprli napako o visoki porabi CPU in ustvarjanju toplote na MacBooku s komentarjem »Uporaba CPU med predvajanjem VP9 na Macu ni hrošč.« To je lahko res, vendar najverjetneje Google ne bi smel servirati vseh tistih videoposnetkov VP9za uporabnike Chrome v sistemih Mac, če je uporaba visokih CPU normalna. To samo spodbuja uporabnike Mac, da namesto tega uporabljajo Safari.
Kako narediti videoposnetke v YouTubu bolj učinkovito
To je problem s piščanci in jajci, res - proizvajalci ne bodo izvajali strojno pospešenega VP9, dokler se dejansko ne bodo uporabljali v resničnem svetu. Google je to težavo rešil tako, da je v Chrome dodal VP8 in VP9 in mu povedal, da videoposnetkom videoposnetkov VP9 in VP8 posreduje Chrome. YouTube lahko tudi posreduje video posnetke VP8 in VP9 Firefoxu.
S tem lahko prihranite nekaj časa prenosa, vendar to pomeni, da v Chromu v YouTubu več energije akumulatorja in ciklov procesorja. Na napravah s posebej počasnimi procesorji lahko videoposnetki celo stisnejo, namesto da se igra gladko.
Če želite učinkovitejše predvajanje, lahko preprosto preklopite na Safari, Microsoft Edge ali Internet Explorer. Toda ti ni treba storiti. Lahko namestite razširitev brskalnika h264ify za Chrome, zaradi česar bo Chrome zahteval H.264 videoposnetke iz YouTuba. Izgledali bodo enako, vendar jih bo Chrome bolj gladko predvajal.
Prenesite h264ify za Chrome, pojdite h264ify za Firefox ali se za več podrobnosti obrnite na projektno stran v GitHubu
Kako si ogledati, ali YouTube uporablja H.264, VP8 ali VP9
Če želite preveriti, kateri kodek YouTube služi svojemu brskalniku,- med predvajanjem kliknite videoposnetek v YouTubu in izberite »Statistika za neradnike«. Desno od »Mime Type« boste videli video / mp4 in avc kodek za videoposnetke H.264 / MP4.
Za videoposnetke VP8 in VP9 boste videli »video / webm« in »vp9« ali »vp8«.
V longrunu je Googlov posnetek VP9 morda boljši za splet in vodi do strojne opreme, ki lahko zagotovi pospešeno dekodiranje tega novega kodek. Toda v tem primeru boste morda želeli shraniti nekaj časa delovanja baterije in narediti prenosni računalnik učinkoviteje, če se boste izogibali Googlovemu poskusu in namesto tega uporabili videoposnetek H.264.
Image Credit: Esther Vargas na Flickr