YouTube заикается, нагревает ваш ноутбук, заставляет ваших поклонников работать или просто загружает процессор? Даже если вы никогда не замечали, YouTube в Chrome почти наверняка потребляет больше энергии, чем нужно. Как и другие проблемы с производительностью Chrome, это, вероятно, хуже всего на Mac.
Это результат перехода на ХТМЛ5 видео и странности с видеокодеками, используемыми YouTube в Chrome по сравнению с другими браузерами. Потерпите нас, и мы объясним, почему Google вообще сделал воспроизведение на YouTube таким неэффективным. У Firefox тоже может быть такая же проблема.
HTML5, H.264, VP8 и VP9
СВЯЗАННЫЕ С: 10 вещей, которые вы еще не знали, что ваш браузер может делать
YouTube теперь в значительной степени отказался от подключаемого модуля Flash Video для воспроизведения видео в формате HTML5. Но воспроизведение видео HTML5 не стандартизировано. Браузеры могут выбирать, какой видеокодек они хотят использовать, и нет ни одного кодека, который предпочитают все браузеры.
Когда YouTube использовал Flash, он использовал кодек H.264 для воспроизведения видео. Видео с этим кодеком обычно имеют расширение файла .mp4 и часто называются видео MP4. Это де-факто отраслевой стандарт, выходящий за рамки только веб-браузеров.
Сафари, Интернет Эксплорер, 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 не набирает обороты
Но с VP8 Google не добился особых успехов. В начале 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 выполняется графическим процессором (ГП) гораздо более эффективным способом. Если бы аппаратное декодирование было недоступно, ЦП должен был бы выполнять всю работу менее эффективным способом. Это означает, что воспроизведение требует меньше процессорного времени, а значит, расходуется меньше энергии батареи и выделяется меньше тепла. Это также может означать более плавное воспроизведение, если процессор не успевает за воспроизведением видео.
Действительно, все современные аппаратные средства поддерживают декодирование с аппаратным ускорением H.264. Сюда входят все типы смартфонов, планшетов, ПК, Mac и даже Chromebook. Когда веб-браузер - да, даже Chrome - воспроизводит видео H.264, оно выгружается на графический процессор. Даже Adobe Flash поддерживает аппаратное ускорение видео H.264.
Но нет никакого оборудования, которое ускоряло бы видео VP8 и VP9. Когда Google объявил VP8 В середине 2010 года ряд компаний, включая такие известные, как nVIDIA, AMD и Qualcomm, объявили, что будут поддерживать VP8 в своих продуктах. Но, более чем через пять лет, ни одно устройство так и не появилось с аппаратным ускорением декодирования VP8.
В недавнем объявление о VP9, в нем отмечается, что «более 20 партнеров по устройствам в отрасли запускают продукты с использованием VP9 в 2015 году и позже». В том же посте отмечаются и другие преимущества VP9, такие как меньший размер файла при том же качестве. Intel, nVIDIA, AMD и другие компании обязались поддерживать декодирование VP9 с аппаратным ускорением.
Мы искали оборудование, которое поддерживает декодирование VP9 с аппаратным ускорением, и все, что мы обнаружили, это то, что Intel выпустила новые Haswell и Broadwell. водители для Windows с "частичной поддержкой ускорения программного обеспечения (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.
Кредит изображения: Эстер Варгас на Flickr