Это результат перехода на 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 спустя годы. H.264 является текущим стандартным кодеком де-факто, вроде этого или нет, и, при использовании браузера Apple или Microsoft, он является единственным доступным. Это единственный реальный вариант для мобильных браузеров. Многие веб-сайты внедрили видео HTML5 только с поддержкой H.264, и Chrome и FIrefox были бы отключены, если бы они не поддерживали H.264.
Реальная проблема: аппаратное ускорение
Здесь есть одна простая, основная проблема. Декодирование H.264 (воспроизведение) аппаратно ускорено. Это означает, что «работа» воспроизведения видеофайла H.264 выполняется графическим процессором (GPU) гораздо более эффективным способом. Если аппаратное декодирование недоступно, ЦП должен будет выполнять всю работу менее эффективным образом. Это означает, что воспроизведение занимает меньше процессорного времени, а это означает, что меньше энергии аккумулятора теряется, и меньше тепла генерируется. Это также может означать более плавное воспроизведение, если процессор не может справиться с воспроизведением видео.
Действительно, все современные аппаратные средства поддерживают декодирование аппаратного ускорения H.264. Сюда входят все типы смартфонов, планшетов, компьютеров, компьютеров Mac и даже Chromebook. Когда веб-браузер - да, даже Chrome - воспроизводит видео H.264, он выгружается на GPU. Даже 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.
В долгосрочной перспективе Google VP9 push может быть лучше для Интернета и привести к оборудованию, которое может обеспечить ускоренное декодирование этого нового кодека. Но в настоящее время вам может понадобиться экономить время автономной работы и сделать ваш ноутбук более эффективным, чтобы отказаться от эксперимента Google и вместо этого использовать видео H.264.