Czy YouTube się zacina, nagrzewa laptopa, wprawia fanów w bieg, czy po prostu zużywa dużo procesora? Nawet jeśli nigdy nie zauważyłeś, YouTube w Chrome prawie na pewno zużywa więcej energii baterii niż potrzebuje. Podobnie jak inne problemy z wydajnością Chrome, jest to prawdopodobnie najgorsze na komputerach Mac.
Wynika to z przejścia do Wideo HTML5 i dziwactwa związane z kodekami wideo używanymi przez YouTube w Chrome w porównaniu z innymi przeglądarkami. Trzymajcie się z nami, a my wyjaśnimy, dlaczego Google spowodował, że odtwarzanie w YouTube jest tak nieefektywne. Firefox może mieć ten sam problem.
HTML5, H.264, VP8 i VP9
ZWIĄZANE Z: 10 rzeczy, o których nie wiedziałeś, że Twoja przeglądarka internetowa może jeszcze zrobić
YouTube w dużej mierze porzucił wtyczkę Flash wideo do odtwarzania wideo HTML5. Ale odtwarzanie wideo HTML5 nie jest ustandaryzowane. Przeglądarki mogą wybrać kodek wideo, którego chcą używać, i nie ma jednego kodeka preferowanego przez wszystkie przeglądarki.
Kiedy YouTube używał Flasha, używał kodeka H.264 do odtwarzania filmów. Filmy z tym kodekiem mają zwykle rozszerzenie pliku .mp4 i są często określane jako filmy MP4. Jest to de facto branżowy standard wykraczający poza przeglądarki internetowe.
Safari, Internet Explorer, Microsoft Edge , Chrome i Firefox obsługują odtwarzanie filmów zakodowanych w formacie H.264, chociaż Firefox wbił się w to i unikał włączania tego tak długo, jak to możliwe.
Podczas gdy Apple i Microsoft obsługują tylko H.264 do odtwarzania wideo w swoich przeglądarkach, Google również wypycha własne kodeki. Google nabył kodek VP8 i wbudował go w Chrome, a Firefox poszedł w jej ślady. Google wypycha teraz kodek VP9 nowej generacji, który jest teraz również wbudowany w Chrome i Firefox. Pliki korzystające z tego kodeka mają zwykle rozszerzenie .webm i są czasami nazywane plikami WebM.
Dlaczego Google stworzyło VP8 i VP9?
Chociaż H.264 jest de facto standardem branżowym, wiąże się z poważnym problemem. Podstawowe technologie są objęte wieloma patentami. Aby korzystać z tych technologii - jeśli na przykład tworzysz je w produkcie - musisz wnieść opłatę za portfolio patentów H.264.
Dlatego Mozilla tak długo przeciwstawiała się H.264 - chciała, aby sieć była oparta na otwartym standardzie, który nie wymagał żadnych opłat. Google wydał VP8 i VP9 z nieodwołalną obietnicą patentową, umożliwiając ludziom robienie z nimi, co chcą - Google nie będzie próbować pobierać opłat patentowych. Cisco skutecznie płaci opłaty licencyjne i zapewnia darmowy podłącz dla użytkowników przeglądarki Firefox. Firefox automatycznie pobiera tę wtyczkę i używa jej do włączenia obsługi H.264.
VP8 nie zyskał przyczepności
Ale Google nie odniósł szczególnego sukcesu z VP8. Na początku 2011 roku Google ogłosił oznaczałoby usunięcie obsługi H.264 z Chrome, aby obsługiwać tylko otwarte kodeki, takie jak VP8 i Theora. Ponad cztery lata później Google nigdy tego nie zrobił i od tego czasu nie słyszeliśmy o tej obietnicy.
Mozilla prawdopodobnie oczekiwała, że Google dotrzyma obietnicy, ale Google nigdy nie mógł - zamiast tego Mozilla ustąpiła i dodała obsługę H.264 wiele lat później. H.264 to aktualny de facto standardowy kodek, czy nam się to podoba, czy nie - a gdy używasz przeglądarki Apple lub Microsoft, jest jedynym dostępnym. To także jedyna prawdziwa opcja dla przeglądarek mobilnych. Wiele witryn zaimplementowało wideo HTML5 z obsługą tylko H.264, a Chrome i FIrefox byłyby z niego wyłączone, gdyby nie obsługiwały H.264.
Prawdziwy problem: przyspieszenie sprzętowe
Jest tu jeden prosty, podstawowy problem. Dekodowanie (odtwarzanie) H.264 jest przyspieszane sprzętowo. Oznacza to, że „praca” odtwarzania pliku wideo H.264 jest wykonywana przez procesor graficzny (GPU) w znacznie wydajniejszy sposób. Gdyby dekodowanie sprzętowe nie było dostępne, procesor musiałby wykonać całą pracę w mniej wydajny sposób. Oznacza to, że odtwarzanie zajmuje mniej czasu procesora, co oznacza, że marnuje się mniej energii baterii i generuje mniej ciepła. Może to również oznaczać płynniejsze odtwarzanie, jeśli procesor nie nadąża za odtwarzaniem wideo.
Naprawdę, wszystkie nowoczesne elementy sprzętu obsługują dekodowanie z akceleracją sprzętową H.264. Obejmuje to wszystkie typy smartfonów, tabletów, komputerów PC, komputerów Mac, a nawet Chromebooków. Kiedy przeglądarka internetowa - tak, nawet Chrome - odtwarza wideo H.264, jest przesyłane do GPU. Nawet przyspieszanie sprzętowe wideo H.264 obsługiwane przez Adobe Flash.
Ale nie ma sprzętu, który przyspieszyłby wideo VP8 i VP9. Gdy Google ogłosił VP8 w połowie 2010 r. Różne firmy, w tym znane marki, takie jak nVIDIA, AMD i Qualcomm, ogłosiły, że będą obsługiwać technologię VP8 w swoich produktach. Jednak ponad pięć lat później nie pojawiły się żadne urządzenia z przyspieszanym sprzętowo dekodowaniem VP8.
W ostatnich Google zapowiedź of VP9, zauważa, że „Ponad 20 partnerów zajmujących się urządzeniami z całej branży wprowadza produkty w 2015 roku i później, używając VP9”. W tym samym poście zauważono również inne zalety VP9, takie jak mniejszy rozmiar pliku przy tej samej jakości. Intel, nVIDIA, AMD i inne firmy zobowiązały się do obsługi dekodowania VP9 z akceleracją sprzętową.
Szukaliśmy sprzętu obsługującego przyspieszane sprzętowo dekodowanie VP9, a jedyne, co znaleźliśmy, to to, że Intel wypuścił nowe Haswell i Broadwell sterowniki dla systemu Windows z „częściową obsługą akceleracji oprogramowania sprzętowego (sic)” dla VP9 na początku 2015 r. Najwyraźniej jest jeszcze dużo do zrobienia.
Podobnie jak inne problemy z wydajnością Chrome, na Macu może to być gorsze. Inżynierowie Chrome usunęli błąd związany z wysokim zużyciem procesora i generowaniem ciepła na MacBooku z rozszerzeniem komentarz „Użycie procesora podczas odtwarzania VP9 na komputerze Mac nie jest błędem”. Może to prawda, ale Google prawdopodobnie nie powinien udostępniać wszystkich tych filmów VP9 użytkownikom Chrome na komputerach Mac, jeśli wysokie zużycie procesora jest normalne. To tylko zachęca użytkowników komputerów Mac do korzystania z Safari.
Jak wydajniej odtwarzać filmy z YouTube
Tak naprawdę jest to problem z kury i jaja - producenci nie zamierzają wdrażać przyspieszanego sprzętowo VP9, dopóki nie zostanie faktycznie użyty w prawdziwym świecie. Google rozwiązało ten problem, dodając VP8 i VP9 do Chrome i mówiąc YouTube, aby wyświetlał filmy VP9 i VP8 w Chrome. YouTube może także wyświetlać filmy VP8 i VP9 w przeglądarce Firefox.
Może to zaoszczędzić trochę czasu pobierania, ale oznacza, że YouTube zużywa więcej energii baterii i cykli procesora w Chrome. Na urządzeniach ze szczególnie wolnymi procesorami filmy mogą się nawet zacinać zamiast płynnie odtwarzać.
Aby uzyskać bardziej wydajne odtwarzanie, możesz po prostu przełączyć się na Safari, Microsoft Edge lub Internet Explorer. Ale nie musisz tego robić. Możesz zainstalować rozszerzenie przeglądarki h264ify dla Chrome, które zmusi Chrome do żądania filmów H.264 z YouTube. Będą wyglądać tak samo, ale Chrome będzie je odtwarzać płynniej.
Ściągnij h264ify dla Chrome , otrzymać h264ify dla przeglądarki Firefox lub skonsultuj się stronę projektu w GitHub po więcej szczegółów
Jak sprawdzić, czy YouTube używa H.264, VP8 czy VP9
Aby sprawdzić, który kodek YouTube wyświetla w Twojej przeglądarce, kliknij prawym przyciskiem myszy wideo YouTube podczas odtwarzania i wybierz „Statystyki dla nerdów”. Po prawej stronie pola „Typ Mime” zobaczysz „wideo / mp4” i kodek „avc” dla filmów H.264 / MP4.
W przypadku filmów VP8 i VP9 zobaczysz „video / webm” oraz „vp9” lub „vp8”.
W dłuższej perspektywie push VP9 firmy Google może być lepszy dla sieci i prowadzić do sprzętu, który może zapewnić przyspieszone dekodowanie tego nowego kodeka. Ale obecnie możesz chcieć zaoszczędzić trochę czasu pracy baterii i sprawić, by Twój laptop działał wydajniej, rezygnując z eksperymentu Google i zamiast tego używać wideo H.264.
Źródło zdjęcia: Esther Vargas na Flickr