О VP8 и предстоящей войне видеокодеков

Вчера Google, как и предполагалось, показала новый видео-кодек VP8, который будет бесплатным и поставляться в открытых исходных кодах. Сам кодек по себе — ничего нового, так как Google купила его “на корню” у компании On2, и демонстрирует желание сделать его “новым кодеком открытого интернета”, в противовес H.264, который хоть и тоже открыт, но зато платный — для тех, кто его встраивает в приложения (поэтому, например, в Firefox он не поддерживается), или же для тех, кто транслирует материалы (причем на самом деле он пока что бесплатен, если не ошибаюсь, до 2015 года, а там, как говорится, “видно будет”).
В интернете тут же заговорили об “ответе Google Apple”, потому как последняя является яростным сторонником H.264 и всячески его продвигает для просмотра видео в браузерах и на устройствах как альтернативу показу видео через Flash (внутри которого очень часто — тот же H.264). Соответственно, возникает вопрос — такой ли на самом деле основательный ответ получился у Google и чем это угрожает Apple? (Кстати, официально VP8 не поддерживает еще одна компания — Microsoft, которая тоже успела заявить, что за H.264 будущее в видео на вебе).

Я не специалист в видео-кодеках, поэтому мне трудно судить о преимуществах или недостатках того или иного из них. Но, к счастью, в сети есть и спецы, поэтому дадим слово одному из них — Джейсону Гаррет-Глейзеру (Jason Garrett-Glaser), который является разработчиком кодека X.264, модификации H.264. Каким-то образом ему попали в руки спецификация и исходные коды VP8 до его официального релиза Google, и он смог проанализировать некоторые моменты по новому-старому кодеку.
[ad#intext-inside]
Не считая того, что спецификация таковой, по большому счету, не является, потому как представляет собой, в основном, copy-paste исходного кода кодека, Джейсон вот что еще сказал о новом кодеке в записи в блоге:

“VP8, по спецификации, должен быть немного лучше, чем H.264 Baseline Profile и VC-1. Но он даже и близко не подходит для конкуренции с H.264 Main или High Profile”.

Здесь требуется небольшое пояснение. У H.264 есть несколько профилей, каждый из которых фактически представляет собой отдельный кодировщик. Поэтому на самом деле H.264 — это, фактически, несколько разных кодеков в рамках одного стандарта, и каждый из них подходит под определенную задачу. В частности, Baseline используется для веб-видео или в мобильных приложениях (декодируя видео прямо на графическом процессоре). А Main используется для телевидения стандартного разрешения, в то время как High применяется в видео высокого разрешения, например, в Blu-Ray.

– VP8 как кодировщик, в плане визуального качества находится где-то между Xvid и принадлежащим Microsoft VC-1. Это можно улучшить, но не с помощью традиционных методов.
– VP8 как декодер, декодирует еще более медленно, чем H.264 из состава ffmpeg. Это вряд ли можно особо улучшить.
– VP8 копирует слишком много из H.264 с точки зрения любого вменяемого человека, неважно, кто бы там не заявлял, что этот кодек свободен от патентов.
– VP8 не готов к массовому доступу, спецификация — это просто пачка скопированного кода C, и интерфейсу кодировщика не хватает возможности, и там полно ошибок. Они даже не готовы финализировать формат битстрима, не говоря уже о том, чтобы переводить весь мир на VP8.

Кстати, вот комментарий Джейсона про спецификацию:

AAAAAAAGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH!

Что все это означает? Ну, как минимум, что для того, чтобы VP8 обрел популярность, Google нужно срочно допилить спецификацию и сам кодек, чтобы производители устройств начали его аппаратно поддерживать. Как максимум — близость кода VP8 к H.264, я думаю, практически гарантирует, что альянс MPEG Licensing Authority и его участники (Apple, Bosch, Dolby, Ericsson, Frauenhofer, Fujitsu, Hitachi, Philips, JVC, LG, Mitsubishi, Panasonic, Samsung, Sharp, Siemens, Sony, Toshiba.) будут гоняться за Google с патентными исками, чтобы мало не показалось. А нет поддержки производителей — нет популярности кодека. 100 млн долларов на On2 окажутся выброшенными на ветер.
[ad#intext-inside]
Есть и альтернативное решение. Например, Google придет к Apple и скажет — “чуваки, мы щас вот возьмем и назло вам переведем весь YouTube на VP8, и вашим iPhone/iPad не поздоровится. Давайте дружить — вы нас поддерживаете, начинаете продвигать понемногу наш кодек, обновляете свои железки его поддержкой, а мы еще какое-то время H.264 в YouTube выключать не будем. Всем будет хорошо”. Правда, я не думаю, что таким методом выкручивания рук с Джобсом можно договориться, но подобный сценарий развития событий вполне может случиться. Будет интересно.
АПД. Мне тут по почте товарищ Александр Воронов прислал несколько замечаний к тексту. Публикую их целиком, без сокращений:
1. Спецификации и реализации.
H.264 – это формат, стандарт, спецификация. Кодека H.264 нет. Соответственно, x264 (это кодек) является реализацией стандарта H.264. Есть и другие кодеки, реализующие стандарт H.264, например, MainConcept, Elecard, DivX Plus и другие. Кстати, x264 пишется с маленькой буквы и без точки. H.264 обычно с большой буквы и с точкой.
VP8, по сути, — это и спецификация, и её реализация, т.е. и формат, и кодек.
2. >близость кода VP8 к H.264
Здесь разговор о близости спецификаций, описаний форматов. Т.е. нельзя говорить о близости кода. Ведь разработчики реализовывали кодеры разных форматов. И претензии от MPEG-LA возможны не по коду, а именно по описанию формата. Вообще бОльшая часть статьи Джейсона как раз посвящена разбору спецификаций формата VP8, и только в приложении он немного описывает кодек.
3. По поводу профайлов.
Там нет нескольких отдельных кодировщиков.
Есть ограничения на используемые при кодировании возможности. На википедии есть табличка, которая это отображает. http://en.wikipedia.org/wiki/H.264#Profiles
И в любом кодировщике, реализующем H.264, можно включить/выключить некоторые функции, чтобы конечное видео соответствовало нужному профайлу. Цель введения профайлов: ориентирование на вычислительные мощности разных устройств и на разные сценарии использования. Т.е., например, Youtube кодирует все видео с настройками на baseline profile, чтобы потом оно игралось на мобильных устройствах. А если видео точно будет воспроизводиться только на десктопе, то можно использовать high profile, что даст выигрыш в компрессии, но заведомо лишит поддержки большинства мобильных устройств.
Соответственно, Джейсон сравнивает, можно сказать, на глазок, что по спецификациям VP8 превзойдёт Baseline, но вряд ли дотянется до High. В случае, если все спецификации будут хорошо реализованы.
Но сферический конь никого не интересует, и потом он приводит картинки полученные при кодировании, где он берёт текущую реализацию VP8 и свой кодек с двумя вариантами настроек (для Baseline и для High).

21 thoughts on “О VP8 и предстоящей войне видеокодеков

  1. А в целом картинка уже довольно давно такова – ни одна компания (даже майкрософт или гугл) не в состоянии за приемлемое время разработать свой собственный видеокодек разительно лучше стандартизированных и не имеющих с ними общих частей.
    H264 это наследник mpeg4 и его драфты начали появляться лет так 10 назад если не больше и только когда вычислительные мощности подросли его ввели в обращение.
    Поэтому VP8 конечно будет одним из, но никаким образом он не сможет занять доминирующее положение. Просто потому что он один из и особых преимуществ в среднем не дает

  2. Как они надоели со своими кодеками…
    Почему нельзя сделать 1-3 всемирных стандарта? Для простого использования – freeware, для более проф. нужд – shareware. Ради бога! Но я, как простой пользователь, не хочу гадить систему разным мусором типа K-lite mega codeck pack и т.п. Я хочу открыть любой фильм в проигрывателе и смотреть! Я не хочу лазить по инету в поиске отсутствующего декодера.

    • а каждый производитель кодеков хочет бутербродов с икрой, соответственно в обозримом будущем кодеков меньше не станет =)

      • Поэтому я и написал “Для простого использования – freeware, для более проф. нужд – shareware”. И будут вам бутерброды. Если хорошо сделаете – даже с икрой (заморской баклажанной XD).

        • профессионалов мало и они прочно окучены =) а народных масс много – с каждого по баксу – менеджеру на феррари

  3. “Правда, я не думаю, что таким методом выкручивания рук с Джобсом можно договориться”
    Пожалуй, но сценарий и правда интересный. Уж слишком сильно Джобс напирал на то, что “full web” на iPad доступен едва ли не чисто за счёт поддержки YouTube’ом h264. И в этом месте отомстить ему за наезд на HTC – самое милое дело. 🙂

    • Все хорошо, но… Но вот хоть один из производителей процов которые стоят в HTC уже реализовал опаратный декодинг этого самого VP8?

    • Угу, и youtube потеряет сколько там пользователей посещающих его с техже самых iPhone-Pod-Pad?
      И еще не факт что с закладок поиска не вылетит 🙂
      И не нарвется на ответный реверанс в сторону флашвидео (хоть в таком виде Adobe с удовольствием попадет в iPhone) – более менее (не боле-менее) вероятно 🙂

    • Шантаж – дело гиблое и заведомо проигрышное для начавшей стороны.
      А Google сейчас некисло так теряет имидж и в связи с тем, что они в течение последних 4 лет собирали MAC-и и SSID WIFi-ных сеток. И оправдания “лепят” совсем детские: ошибка в коде, прийдите посмотрите – мы не использовали и т.п.
      Это кто Evil-то ?
      И в плюс ко всему это не Google говорит о том, что они любят Apple, а не наоборот.
      И раз уже эта позиция закрепилась в прессе и масс-медиа, то такой “выкидон” с YouTube только ухудшит положение Google.
      Да и производители проигрывателей – от домашних до автомобильных тоже, я полагаю, с переходом на VP8 спешить ой как не будут.
      p.s. Что-то мне действия Google последнее время MS или Corel в его предсмертные дни стали напоминать. Хаотично и истерично как-то.

  4. H264 сечас в свои проци и микрухи только ленивый не встраивает на аппаратном уровне.
    А что касается мнимого приемущества… Ну посмотрел я скриншоты. Да за счет менее квадратной картинки VP8 как бы лучше, но деталей там нифига не больше, просто равномерная муть вместо месева из квадратиков на высоких степенях сжатия. И видно это только на стопкадрах. А в реальной жизни на видео по большому счету разници вообще заметно не будет.

  5. Алекс а почитайте эту статью http://www.f1cd.ru/interviews/soft/charles_mccathienevile_opera_software_page_1/
    с одиним из руководителей компании Opera – Чарльз Маккети (Charles McCathieNevile), который занимает должность Chief Standard Operation.
    Вот ключевая фраза насчет H.264

    В чем, по вашему мнению, преимущество использования формата Ogg Theora перед H.264? За исключением, конечно же, платности последнего. По многим тестам H.264 всё же работает быстрее и результат получается лучше…
    Преимущество в том, что на Ogg Theora работают очень многие. Разработчики браузеров, сайтов, каждый может использовать Theora. Чтобы сделать браузер с поддержкой H.264 нужно быть готовым заплатить $5 млн. и платить их затем каждый год.

  6. Вот еще информация о поддержке WebM со стороны ARM процессоров:
    “There have already been a couple of details from the WebM project that will help deliver this growth – free of royalties to Google (as I mentioned earlier), the backing of some big names and efficient processing. The efficient processing is helped by the fact that the VP8 codec is already optimized for Cortex-A/v7A class processors with the NEON SIMD (Single Instruction Multiple Data) engine. NEON allows the ARM CPU to work on multiple bits of data in parallel, and optimizations for ARM11 processors are also available. With NEON-enabled Cortex-A8 and Qualcomm Snapdragon high-end smartphones shipping today, and dual core Cortex-A9 shipping by the end of the year, there are many devices already on the market that will be able to take advantage of WebM. Today mass market smartphones are enabled through ARM11 processors, and with Cortex-A5 handsets in 2011 (also with NEON), 1B+ subscribers will find it easier than ever to access WebM content.”

  7. Все просто – Apple (и иже с ними) нужен альтернативный кодек 🙂 А то каждая моська будет подавать иски в антимонопольный коммитет 🙂

  8. Не думаю, что гугла так уж волнует эппл в этом плане. Я думаю, их в первую очередь интересуют клиенты, треть из которых сидит на файрфоксе. И, если html5 начнёт резко набирать, а флэш резко падать (во что я не очень верю в ближайшей перспективе), гуглу не хотелось бы потерять всех зрителей ютьюба сидящих на fx.

  9. не могу понять, какая проблема с h264 у Firefox и Opera?
    существуют же свободные реализации декодирования h264 – VLC и ffmpeg. их ведь можно использовать, никому ничего не платя.
    К тому же, можно же пользоваться и системными фреймворками декодирования, а не встраивать кодеки внутрь браузера. Конечно, тогда прийдется побольше поработать отдельно для каждой платформы, но зато не платить отчисления.

Leave a Reply