WebM - це відеоформат, який Google представив у 2010 році з однією метою: відео, яке браузер може відтворювати без необхідності сплати патентної ліцензії. Кодеки, що тоді використовувалися в MP4, були покриті патентними пулами, що створювало складнощі для браузерів з відкритим кодом і для тих, хто публікує відео у великому масштабі. Google взяла відкритий контейнер Matroska, скоротила його до невеликої, чітко визначеної підмножини, поєднала її з кодеками без роялті та оприлюднила результат. Сьогодні WebM є всюди в інтернеті, хоча більшість людей цього не помічає. Безпосередньо з файлами ви стикаєтеся двома способами: коли завантажуєте відео з сайту та коли використовуєте рекордер екрана або вебкамери, що працює в браузері, оскільки саме в цей формат браузери й записують.
Як влаштований файл WebM
За своєю структурою WebM - це Matroska з урізаним списком «гостей». Формат використовує таке саме представлення EBML, бінарну вкладену структуру, подібну за задумом до XML, і ту саму ідею сегмента, що містить доріжки та кластери блоків із мітками часу. Відмінність у тому, що дозволено всередині. Відео має бути у форматі VP8, VP9 або AV1, аудіо - Vorbis або Opus. Усі ці кодеки з втратами, а новіші забезпечують вищу якість за ту ж кількість байтів ціною повільнішого кодування. VP8 і VP9 також можуть містити альфа-канал, тож WebM може мати справжню прозорість, що зручно для оверлеїв та анімацій на вебсторінці.
Оскільки формат визначений дуже вузько, файл WebM, який відтворюється десь, відтворюється всюди, де взагалі підтримується WebM, а браузери можуть декодувати його без додаткового програмного забезпечення. Така ж вузькість означає, що WebM не може містити багатьох необов'язкових доповнень, які доступні у повноцінному файлі Matroska.
Які метадані містить файл WebM
Дуже мало, і це навмисно. WebM зазвичай є одним із «найтихіших» відеофайлів, які ви можете отримати.
Те, що гарантовано присутнє, є технічною інформацією. Дані сегмента містять тривалість і часто дату створення в UTC, а також застосунок мультиплексування та застосунок запису, тобто назви бібліотеки та програми, які створили файл. Запис, зроблений у браузері, зазвичай показує браузер як програму запису, а в конвертованому файлі зазвичай вказано бібліотеку конвертації. Кожен запис доріжки містить кодек, розміри в пікселях, зафіксовану частоту кадрів, код мови, а також кількість аудіоканалів і частоту дискретизації.
Описові теги можливі. WebM успадковує систему тегів Matroska, тому файл може містити назву, виконавця, опис або примітку енкодера, згруповані за тим, до чого вони належать. На практиці їх часто немає, оскільки більшість файлів WebM створюються автоматично сайтом або браузером, а не позначаються людиною.
Чого WebM не має зовсім, так це метаданих камери: жодного блоку EXIF, жодної марки чи моделі камери, жодних координат GPS, полів об'єктива чи експозиції. У форматі немає нічого, що було б призначено для запису місця зйомки відео. Однак є один момент, на який варто звернути увагу. Якщо WebM було створено шляхом конвертації запису з телефону, застосунок конвертації міг скопіювати назви, дати або коментарі з оригіналу, тому варто прочитати звіт, а не припускати, що файл порожній.
У записів із браузера є власна особливість: файл записується, поки триває саме записування, тому тривалість іноді відсутня або дорівнює нулю. Через це деякі плеєри показують запис екрана без шкали часу, доки файл не буде перемультиплексовано.
Коли обирати WebM
Обирайте WebM для відео, яке ви розміщуєте на вебсторінці, особливо якщо вам потрібна прозорість або ви не хочете думати про ліцензування кодеків. Розміри файлів за заданої якості є помірними, і додатковий плагін не потрібен.
MP4 з H.264 залишається безпечнішим вибором для всього, що виходить за межі вебу: старі телевізори, приставки, відеоредактори та деякі галереї на телефонах обробляють його надійніше, а апаратне декодування для нього майже повсюдне. Якщо вам потрібен один файл, який працює для всіх, варто обрати MP4; якщо ви контролюєте сторінку, на якій він відтворюється, WebM є легшим і менш обмеженим варіантом.