YouTube заїкається, нагріває ваш ноутбук, штовхає шанувальників або просто використовує багато процесора? Навіть якщо ви ніколи не помічали, YouTube у Chrome майже напевно використовує більше заряду акумулятора, ніж потрібно. Як і інші проблеми з продуктивністю Chrome, це, мабуть, найгірше на Mac.
Це результат переходу на Відео HTML5 і дивацтва з відеокодеками, що використовуються YouTube у Chrome, порівняно з іншими браузерами. Потерпіть з нами, і ми пояснимо, чому Google зробив відтворення YouTube насамперед таким неефективним. Можливо, у Firefox така сама проблема.
HTML5, H.264, VP8 та VP9
ПОВ'ЯЗАНІ: 10 речей, про які ви не знали, що ваш веб-браузер ще міг зробити
Зараз YouTube в основному скинув плагін Flash для відтворення відео HTML5. Але відтворення відео HTML5 не є стандартизованим. Браузери можуть вибрати, який відеокодек вони хочуть використовувати, і немає жодного кодека, який надають перевагу всі браузери.
Коли YouTube використовував Flash, він використовував кодек H.264 для відтворення відео. Відео з цим кодеком, як правило, мають розширення файлу .mp4, і їх часто називають відео MP4. Це фактично загальногалузевий стандарт, не лише веб-браузери.
Safari, Internet Explorer, Microsoft Edge , Chrome і Firefox включають підтримку відтворення відео, кодованого H.264, хоча Firefox заглибився і уникав включення цього якомога довше.
Хоча Apple і Microsoft підтримують лише H.264 для відтворення відео у своїх браузерах, Google також використовує свої власні кодеки. Google придбав кодек VP8 і вбудував його в Chrome, і Firefox наслідував його приклад. Зараз Google використовує кодек VP9 наступного покоління, який тепер також вбудований у Chrome та Firefox. Файли, що використовують цей кодек, зазвичай мають розширення .webm, а також іноді їх називають файлами WebM.
Чому Google створив VP8 та VP9?
Хоча H.264 є фактичним загальногалузевим стандартом, він має значну проблему. Основні технології охоплюються широким розмаїттям патентів. Щоб використовувати ці технології - наприклад, якщо ви вбудовували їх у продукт, - вам потрібно було б сплатити збір до патентного портфеля H.264.
Ось чому Mozilla так довго трималася проти H.264 - вона хотіла, щоб Інтернет базувався на відкритому стандарті, який не вимагав жодної плати. Google випустив VP8 і VP9 з безповоротною патентною обіцянкою, що дозволяє людям робити з ними все, що вони хочуть - Google не намагатиметься отримувати патентні збори. Cisco фактично сплачує ліцензійні збори та надає безкоштовно підключати для користувачів Firefox. Firefox автоматично завантажує цей плагін і використовує його, щоб увімкнути підтримку H.264.
VP8 не набрав зчеплення
Але Google не досяг особливого успіху з VP8. На початку 2011 року Google оголошено було б видалити підтримку H.264 з Chrome, щоб підтримувати лише відкриті кодеки, такі як VP8 та Theora. Понад чотири роки пізніше Google ніколи цього не робив, і з тих пір ми нічого не чули про цю обіцянку.
Mozilla, ймовірно, трималася за те, що Google виконує обіцянки, але Google ніколи не міг - натомість Mozilla змирилася і роками пізніше додала підтримку H.264. H.264 - це поточний фактичний стандартний кодек, подобається чи ні - і, використовуючи браузер Apple або Microsoft, він є єдиним доступним. Це єдиний реальний варіант для мобільних браузерів. Багато веб-сайтів впровадили відео HTML5 лише з підтримкою H.264, і Chrome та FIrefox були б відключені від нього, якби вони не підтримували H.264.
Справжня проблема: апаратне прискорення
Тут є одна проста, основна проблема. Декодування (відтворення) H.264 здійснюється апаратно. Це означає, що «робота» відтворення відеофайлу H.264 виконується графічним процесором (GPU) набагато ефективніше. Якби апаратне декодування було недоступне, процесору довелося б виконувати всю роботу менш ефективно. Це означає, що відтворення займає менше часу процесора, а це означає, що менше витрачається заряд батареї та менше тепла. Це також може означати плавніше відтворення, якщо центральний процесор не встигає за відтворенням відео.
Дійсно, всі сучасні апаратні засоби підтримують апаратно-прискорене декодування H.264. Сюди входять усі типи смартфонів, планшетів, ПК, Mac і навіть Chromebook. Коли веб-браузер - так, навіть Chrome - відтворює відео H.264, воно завантажується на графічний процесор. Навіть Adobe Flash підтримував апаратне прискорення відео H.264.
Але там немає обладнання, яке прискорює відео VP8 і VP9. Коли Google оголошено VP8 у середині 2010 року різноманітні компанії, включаючи такі відомі імена, як nVIDIA, AMD та Qualcomm, оголосили, що підтримуватимуть VP8 у своїх продуктах. Але, більше ніж через п’ять років, жоден пристрій ніколи не надходив з апаратно прискореним декодуванням VP8.
В останніх Google оголошення VP9, він зазначає, що "Більше 20 партнерів пристроїв у всій галузі випускають продукти в 2015 році та пізніше, використовуючи VP9". У цьому ж дописі зазначаються й інші переваги VP9, наприклад менший розмір файлу для однакової якості. Intel, nVIDIA, AMD та інші компанії пообіцяли підтримувати апаратно прискорене декодування VP9.
Ми шукали обладнання, яке підтримує апаратно прискорене декодування VP9, і все, що ми виявили, - це те, що Intel випустила нові Haswell та Broadwell водіїв для Windows з «частковою підтримкою прискорення ardwareardware (sic)» для VP9 на початок 2015 року. Очевидно, що ще багато роботи потрібно зробити.
Як і інші проблеми з продуктивністю Chrome, це може бути гірше на Mac. Інженери Chrome усунули помилку щодо високого використання процесора та виробництва тепла на MacBook за допомогою коментар "Використання процесора під час відтворення VP9 на Mac не є помилкою". Це може бути правдою, але Google, мабуть, не повинен подавати всі ці відео VP9 користувачам Chrome на Mac, якщо нормальне використання центрального процесора є нормальним. Це просто спонукає користувачів Mac використовувати замість цього Safari.
Як зробити YouTube відтворювати відео більш ефективно
Це справді проблема курки та яєць - виробники не збираються впроваджувати апаратно прискорений VP9, поки він насправді не використовується в реальному світі. Google вирішив цю проблему, додавши VP8 і VP9 до Chrome і сказав YouTube обслуговувати відео VP9 і VP8 до Chrome. YouTube також може обслуговувати відео з VP8 та VP9 у Firefox.
Це може заощадити час завантаження, але це означає, що YouTube витрачає більше заряду акумулятора та циклів процесора в Chrome. На пристроях із особливо повільними процесорами відео може навіть заїкатися, замість того, щоб відтворювати плавно.
Щоб отримати ефективніше відтворення, ви можете просто перейти на Safari, Microsoft Edge або Internet Explorer. Але вам не потрібно цього робити. Ви можете встановити розширення браузера h264ify для Chrome, яке змусить Chrome запитувати відео H.264 з YouTube. Вони будуть виглядати однаково, але Chrome буде відтворювати їх більш плавно.
Завантажити h264ify для Chrome , отримати h264ify для Firefox , або проконсультуйтеся сторінку проекту на GitHub для більш детальної інформації
Як дізнатись, чи використовує YouTube H.264, VP8 або VP9
Щоб перевірити, який кодек YouTube обслуговує ваш браузер, клацніть правою кнопкою миші відео YouTube під час відтворення та виберіть «Статистика для ботаніків». Праворуч від “Mime Type” ви побачите “video / mp4” та “avc” кодек для відео H.264 / MP4.
Для відеозаписів VP8 та VP9 ви побачите "video / webm" та "vp9" або "vp8".
У довгостроковій перспективі підтримка VP9 від Google може бути кращою для Інтернету та призвести до обладнання, яке може забезпечити прискорене декодування цього нового кодека. Але зараз, можливо, ви захочете заощадити час роботи від батареї та зробити свій ноутбук ефективнішим, відмовившись від експерименту Google та використовуючи замість цього відео H.264.
Кредит зображення: Естер Варгас на Flickr