Чому YouTube в Chrome (і Firefox) розряджає батарею вашого ноутбука і як це виправити

Чому YouTube в Chrome (і Firefox) розряджає батарею вашого ноутбука і як це виправити

YouTube заїкається, нагріває ваш ноутбук, запускає вентилятори або просто використовує багато процесора? Навіть якщо ви ніколи цього не помічали, YouTube в Chrome майже напевно споживає більше енергії акумулятора, ніж потрібно. Як і інші проблеми з продуктивністю Chrome, це, ймовірно, гірше на Mac.

Це результат переходу до HTML5-відео і збочення з використанням відеокодеків, використовуваних YouTube в Chrome порівняно з іншими браузерами. Змиріться з нами, і ми пояснимо, чому Google зробив відтворення YouTube таким неефективним. У Firefox теж може бути та ж проблема.

HTML5, H.264, VP8 и VP9

Тепер 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 через роки. Н.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».

У довгостроковій перспективі, просування Google VP9 може бути краще для Інтернету і призвести до апаратного забезпечення, яке може забезпечити прискорене декодування цього нового кодека. Але в даний час ви можете заощадити час автономної роботи і підвищити ефективність роботи свого ноутбука, відмовившись від експерименту Google і використовуючи замість цього відео H.264.