Блог на Васил Тошков

Видео формати за Интернет: WEBM (VP8/VP9/AV1), MP4 (H.264) и OGG (Theora)

В тази публикация ще разгледам и сравня различните видео формати, които се поддържат от съвременните браузъри без външни разширения, тоест с HTML5 видео таг. Както може да видите от предната връзка, Flash отдавна е мъртъв (както бях предсказал), но борбата за свободата на видеото в Интернет далеч не е приключила. Следващата битка, която трябва да се спечели е да се измести комерсиалният формат MP4 от сцената с достоен по качество съперник. Кой ще е той?

Този списък е скрипт, който показва какво може и какво не да възпроизвежда текущият ви браузър. Различните браузъри поддържат различни формати. Най-много формати могат да възпроизвеждат браузърите с отворен код: Firefox, Chromium и Opera. Най-малко или по-точно само собствения си формат MP4 (в който притежават дял), поддържат Internet Explorer и Safari. За щастие все по-малко хора използват въпросните браузъри. За да гледате отделните видеа, ще трябва да сменяте браузърите.

За целта на експеримента с отделните кодировки, ще използвам част от отвореното видео Big Buck Bunny, като ще експортирам по едно видео от 1080p на 720p, за да имаме перфектен първоначален източник. Видеата ще са с еднакъв битрейт от 1500k, тоест ще са и с приблизително еднаква големина. Избрал съм тази цифра, защото е точката, след която трудно може да се забележи разлика в качеството и повечето системи, дори YouTube кодират с 1500k при 720p.

MP4 (H.264, AAC)

Преглед в отделен прозорец

Създаден е през 2003-та от MPEG и VCEG. Високото качество на видео форматa, заедно с високото качество на звука правят H.264 най-широко използвания видео формат в момента. Използва се във видео камери, телевизори, телефони, Интернет... и единствения му недостатък е, че е комерсиален. Всеки, който го използва, трябва да плаща лицензионни такси, които оскъпяват продуктите и услугите за крайните потребители.

OGG (Theora, Vorbis)

Преглед в отделен прозорец

Още един от старите формати. Видео кодекът Theora и аудио кодекът Vorbis са свободни и с отворен код. Спецификацията на формата е замразена от Юни 2004-та и от тогава се правят подобрения само по енкодера и декодера, но не и по самия формат. Както се вижда, качеството не е идеално, но при толкова стар формат е нормално. Но пък е безплатен, лек и широко поддържан.

WEBM (VP8, Vorbis)

Преглед в отделен прозорец

Това е първият свободен кодек, който поддържа високо качество на картината. Създаден е от Google през 2010-та година с цел да има безплатна и отворена алтернатива на MP4 форматът. WEBM е създаден за Интернет, затова лесно се стриймва. Работи успешно с голям диапазон резолюции и има голямо ниво на компресия и качество. Като качество леко отстъпва на MP4, но другите му плюсове компенсират.

WEBM (VP9, Opus)

Преглед в отделен прозорец

Това е бъдещето. Кодекът с най-добро качество, надвишаващо два пъти най-доброто до момента - MP4. Както и предшественика си, VP9 е оптимизиран за Интернет до такава степен, че на него се базира отворения WebRTC стандарт за предаване на картина и звук на живо в Интернет. Това е и форматът, в който YouTube ще конвертира видеата си с качество 4K. Изключително нов е, представен е през август 2013-та от Google, затова още рядко се среща.

Естествено, VP9 е напълно безплатен и с отворен код. Браузърите Chromium, Opera и Firefox вече го поддържат в последните си версии и е въпрос на време да започне да се използва широко. Тепърва предстои да се правят ефективни енкодери и декодери за него, включително и хардуерни. Първите такива са вече факт. До няколко години очаквам множеството от видеото в Интернет да е в този свободен и ефективен формат.

Над 50% от Интернет потребителите вече могат да гледат този формат. Моята дългосрочна стратегия, примерно за видеата в Cloxy, е да се преминава постепенно към VP9.

WEBM (AV1, Opus)

Преглед в отделен прозорец

(15.04.2019г.) Допълвам статията с най-новия отворен кодек за Интернет видео - AV1. Спецификацията е стабилизирана до степен вече да може да се използва. Firefox го поддържа официално. Chrome също, въпреки че API-то им твърди обратното към момента.

AV1 се разработва от Alliance for Open Media, част от която са най-големите компании в света. Целта е всички големи да обединят сили в разработването и налагането на единен отворен кодек за видео.

AV1 е наследник на VP9, като включва в себе си и много от разработките по проекта Daala на Mozilla. Твърди се, че качеството на AV1 е с 20% по-добро от това на VP9. Изключително подходящ кодек за големите формати 4K и 8K.

VP9 постигна наистина много с годините. Стана абсолютен лидер на видеото в Интернет. Стана и втори по използване кодек в света. Но едностранното му налагане от страна на Google / YouTube не се харесва на някои играчи. Това е причината за създаването на AV1, при който всички заинтересувани могат свободно да допринасят.

Към момента на писане, липсва хардуерна поддръжка за AV1. В същото време VP9 вече се поддържа от всички големи производители на чипове и хардуерното му ускорение е факт от години. Ще трябват няколко години да се въведе хардуерна поддръжка и на AV1. След това AV1 вероятно ще стане основия видео стандарт за Интернет.