Webm media foundation components что это
Формат WebM был впервые представлен Google в 2010 году. Поскольку этот формат видео основан на контейнере Matroska, ему удается поддерживать хорошее качество видео. Что касается аудиопотоков, то он поддерживает аудио Vorbis. Формат WebM изначально предназначен для веб, так как этот формат поддерживается в HTML5.
Видеопотоки этого формата сжимаются с использованием видеокодеков VP8 или VP9. WebM является альтернативой с открытым исходным кодом другим видео-форматам (особенно MP4) и специально предназначен для использования в Интернете в сочетании с HTML5.
Что такое формат WebM?
WebM - это контейнерный формат (с окончанием файла * .webm) для мультимедийных файлов, т. е. для видео и аудио файлов. В этом контейнере используются видеокодеки VP8 и VP9 и аудиокодеки Vorbis и Opus. Впервые анонсированный на конференции Google I/O 2010, WebM планировался как альтернатива существующему формату MP4 с его кодеком H.264 с самого начала. Хотя последний может бесплатно использоваться потребителем при просмотре видео, разработчики, которые хотят работать с кодеком, должны платить лицензионные сборы. WebM, с другой стороны, является проектом с открытым исходным кодом, который может использоваться бесплатно всеми.
Заметка
WebP - это формат, разработанный специально для просмотра файлов изображений в Интернете.
WebM разработан для использования с HTML5. Кодеки VP8 и VP9 были спроектированы таким образом, что существует большая степень сжатия, но при разархивировании файлов требуется небольшая мощность компьютера. Целью этого дизайна является обеспечение возможности потоковой передачи онлайн-видео практически на любом устройстве (например, на настольном компьютере, планшете, смартфоне или мультимедийном устройстве, таком как смарт-телевизор). Поэтому неудивительно, что YouTube - часть Google - конвертирует все видео в формат WebM, независимо от формата исходного файла. Тем не менее YouTube продолжает поддерживать H.264 для тех, кто не может использовать WebM.
Хотя Google прилагает все усилия для продвижения своего формата, другие крупные участники рынка, такие как Apple или Microsoft, продолжают использовать форматы, такие как MP4. Основной причиной этого являются законы о патентах: обе эти компании-разработчики являются частью патентного пула MPEG-LA , поскольку они имеют патенты на используемые кодеки и получают за них лицензионные сборы. Google пытается обойти эти патенты с помощью WebM.
В прошлом это приводило к различным юридическим проблемам, например, в Германии. Проблема была с кодеком VP8. Несколько компаний жаловались на то, что кодек нарушает их патенты. Впоследствии Google пришла к соглашению с MPEG LA. Тем не менее, Nokia не является частью патентного пула и считает, что ее права были нарушены. Первоначальный случай, когда компания подала в суд на своего конкурента HTC, чьи устройства поддерживают V8, был отклонен окружным судом Мангейма на юге Германии.
Факт
Кодек - это комбинация двух терминов «кодировать» и «декодировать». Два алгоритма гарантируют, что видеоданные сначала кодируются, чтобы сохранить небольшой размер файла, а затем декодируются, чтобы правильно восстановить изображения и звук.
Файлы WebM могут быть интегрированы в собственный веб-сайт пользователя с помощью тега видео HTML5.
Поддержка WebM
Формат WebM поддерживается браузерами Mozilla Firefox, Google Chrome, Opera, Chrome, Chromium и Microsoft Internet Explorer и не требуют дальнейшей установки для воспроизведения файлов с этим форматом. Microsoft Edge требует дополнительного плагина. Apple Safari также можно обновить для воспроизведения формата WebM - по крайней мере, в том, что касается его настольной версии. У пользователей iPhone и iPad возникают проблемы: им нужно установить дополнительное программное обеспечение для воспроизведения видео на своих устройствах.
Кроме того, видеофайлы WebM могут быть загружены на YouTube, что является одним из наиболее важных вопросов для множества пользователей, использующих канал YouTube. Кроме того, популярные мессенджеры, такие как Skype и ooVoo, совместимы с этим форматом. Это не полный список программ и сервисов, поддерживающих этот формат; среди прочих CoreCodec, Grab Media, Sorenson media, Tixeo soft, Ffmpeg, Adobe Flash Player, Oracle Java и многие другие.
Наиболее популярным программным обеспечением для воспроизведения файлов WebM является, вероятно, VLC player. Это также доступно для устройств с операционной системой iOS. Winamp и Kodi также могут воспроизводить файлы WebM. Windows Media Player 12 также может обрабатывать WebM. Однако необходимо установить компоненты WebM Media Foundation.
WebM против MP4 - преимущества и недостатки
Основное различие между этими двумя форматами заключается в используемых видеокодеках. WebM использует VP8 или VP9, а MP4 основан на H.264. Еще один большой вопрос - это разница между общим количеством устройств и программ, которые поддерживают WebM и MP4. Нет сомнений, что формат MP4 сегодня более популярен и поддерживается многими смартфонами, тогда как WebM поддерживается только Android. То же самое можно сказать и о программном обеспечении для воспроизведения и редактирования файлов.
Хотя WebM является относительно недавней разработкой, MP4 (MPEG-4 Part 14) и H.264 используются уже много лет. Это означает, что старый формат и кодек стали стандартом: есть лишь очень небольшое количество приложений, которые не поддерживают MP4. В дополнение к онлайн-сервисам и программному обеспечению для ПК / Mac, многие другие устройства (например, видеокамеры) могут обрабатывать MP4. Эта высокая степень признания означает, что формат представляет интерес как для производителей, так и для пользователей.
Тем не менее, Google преуспевает в природе WebM с открытым исходным кодом: использование формата не приводит к каким-либо затратам ни для производителей, ни для разработчиков, ни для конечных пользователей. Программное обеспечение также продается под открытой лицензией BSD.
Лицензионная сеть MP4 или H.264 туманна: большинство пользователей, включая тех, кто собирает профессиональные видеофильмы, понятия не имеют, имеют ли они действующую лицензию после покупки аппаратного или программного обеспечения или нарушают ли они законы о лицензировании каждый раз, когда они компилируют или смотрят видео, с WebM все намного понятнее. MPEG LA уже объявил в 2010 году, что использование кодеков H.264 в будущем останется бесплатным при условии, что скомпилированные видео будут доступны пользователям бесплатно.
Заметка
И WebM, и MP4 являются только контейнерами. Чтобы оценить как качество, так и производительность, необходимо оценить используемые кодеки. Для WebM это VP8 и VP9. MP4 в основном работает с H.264 и реже со своим преемником H.265.
Для многих пользователей производительность двух форматов важнее аргументов патента: в последние годы H.264 по праву занял верхнюю позицию среди кодеков. Качество видео MP4 с этой кодировкой обычно считается очень хорошим. Тем не менее, H.265 по-прежнему легко превосходит их обоих. У WebM хорошее качество изображения и звука, но VP8 не полностью относится к тому же классу, что и H.264. Степень, в которой VP9 соответствует H.265 (также называемый HEVC) в отношении качества изображения, является горячей темой. Некоторые считают, что они равны, другие говорят, что качество VP9 далеко не такое, как у H.264.
Две другие решающие особенности при сравнении кодеков - размер файла и скорость кодирования и декодирования. Оба имеют прямое влияние на удобство использования: чтобы обеспечить быструю онлайн-передачу данных, размер файла должен быть как можно меньше. Это особенно важно для пользователей мобильного интернета. Однако известно, что H.264 генерирует сравнительно большие файлы. Однако на стороне пользователя декодирование происходит очень быстро и не является особенно сложным. Это еще раз связано с общим использованием кодека. Многие устройства уже поддерживают декодирование видео H.264 с аппаратной точки зрения.
Это не относится к H.265, который может быть связан с очень высокими затратами на лицензирование, выплачиваемыми производителями оборудования. Более поздний кодек требует большой мощности компьютера, что может, в частности, привести к проблемам со смартфонами. WebM специально предназначен для потоковой передачи приложений и дает хорошие результаты, как в отношении размера файла, так и в отношении скорости. В очередной раз проблема распространенности является проблемой: хотя на многих устройствах Android установлена поддержка VP8, а производители телевизоров, такие как LG, Samsung и Sharp, постепенно оснащают свои устройства поддержкой VP8 / VP9, iPhone, iPad и другие устройства Apple по-прежнему не предоставляют никакой аппаратной поддержки. Это означает, что их производительность может быть намного хуже.
Почему WebM?
Формат WebM обеспечивает хорошее качество видео-файлов. В дополнение к этому, воспроизведение этого видео формата выполняется без усилий, поэтому видео в этом формате можно легко воспроизводить даже на машинах с низкими техническими характеристиками. Этот формат идеально подходит для онлайн-трансляции, и это бесплатно!
Медиаплееры для открытия формата WebM
Видеофайлы WebM можно открыть в самых популярных медиапроигрывателях:
- VLC
- KM Player
- Media Player Classic
- Winamp
- jetAudio Basic
- Moovida Core
- Perian
- XMBC
Примеры программного обеспечения для редактирования файлов WebM
- Бесплатный редактор видео DVDVideoSoft;
- Filmora Video Editor
- Free Video Dub
WebM - это отличный видеоформат, который предлагает видео высокого качества, относительно компактен по размеру и идеально подходит для потоковой передачи видео и использования с YouTube.
▍Термины
HTML5-видео — это когда вы вставляете в веб-страницу тег <video> и указываете ему какой-то src. HTML5-стриминг — это то же HTML5-видео, но когда в src не готовый файл, а постоянно обновляющийся видеопоток. Ролик на Ютубе — это HTML5-видео, трансляция в Твитче — HTML5-стриминг.
Тегу <video> неважно, как видеопоток формируется и передаётся, и сможет ли браузер его проиграть. Главное, чтобы в src была ссылка на какой-то видеопоток. Говоря техническим языком, спецификация ничего не говорит о том, какие протоколы, транспорты и кодеки поддерживаются в HTML5-видео.
Протокол — это то, как два участника видеосвязи (почти всегда это клиент и сервер) обмениваются данными с целью получения данных. Клиентом называют того, кто приходит к серверу и инициирует сессию связи. Видеопоток может течь от сервера к клиенту (тогда это обычное проигрывание) или от клиента к серверу (тогда это публикация). Даже когда гигантский шкаф, жрущий электричество как многоквартирный дом приходит к маленькой IP-камере, то она будет сервером, а этот шкаф клиентом.
Протокол обычно подразумевает хотя бы команду Play (начать проигрывание), но иногда есть и расширенные варианты: пауза, продолжение, публикация, перемотка и т. п.
Транспорт, или транспортный контейнер, или контейнер — это то, как сжатое видео упаковывается в байты для передачи от одного участника к другому (по какому-то протоколу).
Примеры контейнеров: MPEG-TS, RTMP, RTP.
Обратите внимание, что RTMP оказался и в протоколах, и в транспортах. Это потому, что в описании RTMP есть спецификация и того, что должны слать друг другу стороны, чтобы видео потекло (т. е. протокол), и того, как упаковывать видео (т. е. транспорт). Так бывает не всегда. Например в протоколе RTSP видео упаковывается в транспорт RTP. |
Кодек — многозначный термин. Здесь он означает способ сжать сырое видео. Разница между кодеком и транспортом в том, что кодек — это про подготовку видео, а транспорт — про передачу видео по протоколу. Видео, сжатое одним кодеком, можно пересылать по разными протоколам и разными транспортами. Большинство видеостриминговых серверов не залезают глубже кодированного видео и оперируют только протоколами и транспортами.
Примеры кодеков: h264, aac, mp3.
Из-за того, что термин многозначный, возникает путаница с названиями. Например, H.264 — это стандарт того, как упаковать поток огромных сырых видеокадров в очень мало байтов, libx264 — это библиотека для сжатия по этому стандарту, а ещё есть одноимённый софт под Винду, который умеет декодировать h264 и проигрывать его на экране. |
Итак, в спецификации HTML5 не описаны протоколы, транспорты и кодеки. Поэтому авторы браузеров сами выбирают, что поддерживать, а под «HTML5-стримингом» подразумевают разные вещи.
При этом есть комбинации, которые поддерживаются значительной частью браузеров. Рассмотрим самые перспективные.
Разработали HLS в Эппле, поэтому изначально он работал только в Сафари на iOS и MacOS. Даже Сафари на Windows не умел играть HLS (когда еще была версия под Win).
Тем не менее, сейчас HLS умеют проигрывать все телевизионные приставки и даже почти все устройства на Андроиде.
Но не всё гладко. Производители сторонних плееров плюнули на стандарт Эппла в части донесения разных аудиодорожек и добавили проигрывание всего что есть в обычном MPEG-TS: mpeg2 video, mpeg2 audio и т. п. Из-за этого приходится отдавать разные форматы плейлистов для разных плееров.
WebM видео кодек: особенности и прогнозы
Итак Google сделал заявку на победу в войне видео форматов для веб, открыв VP8 под свободной open source лицензией, не требующей Royalty отчислений. В чем же особенности WebM по сравнению с h264 и как внедрение этого кодека изменит Интернет?
1. WebM — это кодек, оптимизированный для Веб
Если VP8 еще и не успели хорошенько оптимизировать, то, учитывая какими темпами развивался Chrome, сделают это очень скоро. WebM задуман как кодек легко адаптируемый к раличной ширине канала доступа, который при этом предоставляет высокое качество. Как утверждает Google, WebM — лучший вариант для видео в реальном времени. Соответственно онлайновые реалтайм трансляции и видеочаты, а также видеоконференции выйдут на новый уровень.
2. Проще некуда
WebM — легкий для интеграции в существующие платформы (как программы, так и железо). Он не требует долгой и трудоемкой кастомизации настроек, что должно привлечь массового пользователя. Клик и ты скодировал видео. Еще один довод к тому, что WebM очень быстро пойдет в массы.
3. Быстрее, еще быстрее
Несмотря на то, что VP8 был создан для того, чтобы быть быстрым, Google признает, что кодирование видео в высоком качестве оставляет желать лучшего и собирается сделать кодек быстрее. Кроме того, WebM будет оптимизирован для процессоров Atom и ARM, улучшена многопроцессорная поддержка и декодирование посредством GPU. Нетбуки, планшеты и смартфоны будут использовать меньше мощности для декодирования видео, что позволит увеличить автономность.
4. Матрешка (MKV) усиливает позиции
Прогрессивный и поддерживающий множество функций контейнер Матрешка имеет все шансы в будущем захватить лидерство. Именно его Google и партнеры выбрали в качестве контейнера для WebM.
5. Узкие спецификации исключают разброд и шатания
Хотя в Матрешку можно запихнуть все, что угодно, в браузерах будет проигрываться только видео VP8 и аудио Vorbis с расширением .webm. Google объвил спецификации WebM окончательными на ближайшее будущее.
6. Неограниченный битрейт и размер кадра
Поскольку WebM использует 14 бит для высоты и ширины, максимальный размер видео — невероятные 16384x16384 pixels. Хороший задел на будущее, надо сказать.
7. Skype обзаведется новыми фишками для видеоконференций
В Roadmap для WebM содержится поддержка и улучшение видеоконференций. Недаром Skype находится в списке компаний, поддерживающих WebM.
8. Apple и Microsoft придется поддержать WebM
Несмотря на то, что многие ждут войны h264, поддерживаемого Apple и Microsoft и WebM, за которым, кроме Google стоят такие гиганты как Adobe, AMD, nVidia и Skype, скорее всего этого не случится. Кроме браузеров Firefox, Chrome, Opera, которые включат поддержку WebM в ближайшем будущем, WebM будет поддерживать Android уже в конце 2010 года. Google также постарается как можно скорее перевести на WebM и Youtube, которые растет как на дрожжах. Станет ли Стив Джобс, который так ратовал за открытые стандарты, возражать?
▍WebRTC
Во Флеше была сделана годная попытка в одной технологии реализовать и риалтайм-общение, и массовый броадкастинг. К сожалению, в HTML5 так не вышло. Для просмотра трансляций у нас есть MSE, а для видеозвонков — WebRTC.
WebRTC — это SIP в браузере: способ организовать аудио- и видеоканал и канал данных между двумя браузерами при посредничестве сервера.
Технология не предназначена для стриминга, но в принципе может и его, так что было бы неправильно забыть про него. WebRTC тоже считается HTML5, потому что вроде как ничего кроме Яваскрипта в браузере не требует. Зато требует наличия последних версий обоих популярных браузеров, а с Эджем пока вообще не совместимо.
Путаницу в понимании WebRTC вносит его использование в торрент-доставке телевидения. Суть в том, что браузеры через WebRTC организуют сеть каналов данных, а дальше по этой сети раздаются HLS- или MSE-сегменты видео, а проигрывание происходит через Флеш или MSE. Т. е. WebRTC — для доставки, MSE — для проигрывания. Важно не путать это с использованием WebRTC для проигрывания видео.
▍Так что там с mp4-стримингом?
Вокруг h264 сложилось немало шумихи по поводу его «закрытости» и «несвободности». Так что есть «открытая» альтернатива, которую форсит Гугл — видеокодеки vp8 и vp9, упакованные в транспорт WebM. WebM — это подмножество транспорта mkv (a. k. a. Матрёшка), который очень похож на mp4 по сути, но отличается от него своей «бинарностью».
Именно отсюда растут ноги у такого явления как «mp4-стриминг», который устроен как WebM. Дело в том что в обычном mp4 в самом начале указывается размер всего контейнера. Поэтому, если мы хотим отдать по обычному mp4 прямой эфир, у нас ничего не получится. А чтобы всё-таки получилось и можно было создавать mp4 без фиксированного конца, придуман следующий ход: сначала пишется mp4 без кадров, а потом в конце подписываются блоками по несколько секунд фрагменты с кадрами. Это называется mp4 fragmented, или mp4 streaming.
По сути это никакой не стриминг, а костыль, позволяющий создать его видимость. Mp4 — отличный формат для скачивания видео, но негодный для стриминга, так что про него можно просто забыть и никогда не использовать термин «mp4-стриминг».
Как открыть и форматировать формат WebM
В статье рассмотрим, что представляет собой формат WebM, при помощи какого софта его открывать, как конвертировать, и какие сервисы для этого пригодятся.
Какими программами открыть WebM
Воспользуйтесь списком софта, выбрав список для своей ОС, чтобы открыть файл WebM:
Windows | Linux | MacOS | iOS | Android |
---|---|---|---|---|
Google Chrome | VLC media player | VLC media player | Oblimsoft OPplayer | FileViewer для Андроид |
Mozilla Firefox | Mozilla Firefox | Google Chrome | Penta Loop PlayerExtreme MediaPlayer | |
Opera | Opera | MiroVideo Converter | ||
Microsoft Edge | FFmpg | Eltima Elmedia Player | ||
Movavi Video Suite | Arista Transcoder | Shedworks Smart Converter | ||
Microsoft Internet Explorer с подключаемым модулем VP8 | Mozilla Firefox | |||
Microsoft Windows Media Player с DirectShow Filter (является частью операционной системы) | Opera | |||
VLC media player | Quicktime | |||
Mirovideo Converter | ||||
XnView | ||||
KM Player | ||||
Winamp | ||||
Universal Viewer |
Более популярен абсолютно бесплатный VLC Media Player. Работает на всех платформах, воспроизводит всё, понимает большинство кодеков без дополнительных пакетов. Являясь бесплатным, не содержит рекламы, не следит за юзерами.
Популярный вариант для MacOS- мультиформатный Eltima Player.
Какой бывает HTML5-стриминг (и почему mp4-стриминга не существует)
Нередко клиенты спрашивают, умеет ли наш сервер «mp4-стриминг в HTML5». В 99% случаев спрашивающий не понимает о чём говорит. В этом сложно винить клиентов: из-за путаницы с терминами, технической сложности и большого разнообразия вариантов стриминга запутаться очень легко.
В этой статье мы расскажем, какой бывает HTML5-стриминг, какие варианты хорошие, и почему, чёрт побери, нельзя говорить «mp4-стриминг».
Описание WebM
Чаще всего WebM применяется для онлайн отправки видео при помощи HTML5. Отличается высоким качеством воспроизведения и высокими показателями сжатия данных. Это универсальное расширение, поддерживаемое в средах многих ОС, в том числе и в популярных мобильных средах. Основан на контейнере Matroska, хранящий мультимедиа в файлах MKV.
На платформе перечисленных браузеров используется тег WEBML5 <video> для транслирования мультимедиа онлайн. Интеграция WebM на страницу сайта осуществляется без продолжительных задержек и ошибок в работе. Планируется встраивание, то есть интеграция формата WebM в технологию Adobe Flash.
▍MPEG-DASH
MPEG-DASH — обычно это h264/h265-видео и aac-аудио, упакованное в транспорт mp4, или vp8/vp9, упакованное в WebM, хотя стандарт и не привязан к конкретным кодекам, протоколам и транспортам. Как и в HLS, поток может разбиваться на сегменты, но это необязательно. Вместо плейлистов — MPD-манифест в XML.
MPEG-DASH во многом похож на HLS. Возможно, он даже популярнее, ведь такие гиганты как Ютуб и Нетфликс уже несколько лет используют его как основной способ раздачи контента.
MPEG-DASH хорош тем, что в большинстве браузеров работает нативно, через MSE (о том, что это такое, — чуть ниже). Для него даже нет реализации на Флеше — это честный, бескомпромиссный HTML5.
Определенно, MPEG-DASH — самый настоящий HTML5-стриминг, за ним будущее.
Когда стало ясно, что Флеш всё-таки умрёт (после сотни ложных похорон), ребром встал вопрос о том, что придёт ему на смену. Хорошо было бы получить в браузерах возможность проигрывать видео по качеству и удобству близко к тому, что умеет Флеш (а он это делает всё-таки хорошо).
Во Флеше давно появился очень удобный механизм для универсального проигрывания разных вариантов — appendBytes. Суть в том, что пользовательский код сам как хочет скачивает кадры сжатого видео, упаковывает в оговоренный контейнер (с Флешем это flv) и засовывает в видеопроигрыватель. Т. е. протокол и транспорт реализуются в пользовательском коде, запускаемом в браузере.
MSE (Media Sources Extensions) — это расширение спецификации HTML5, которое позволяет делать то же, что делает appendBytes во Флеше. К сожалению, MSE намного сложнее как в понимании, так и в реализации.
MPEG-DASH, созданный на его базе, ещё хитрее, поэтому работать с ними то ещё удовольствие: тонны XML, парсинг бинарных контейнеров в Яваскрипте, непродуманные на этапе дизайна вопросы нарезки на сегменты — всё как мы любим, всё что нужно для единой безглючной реализации во всех браузерах.
Интересно, что MSE работает не только с MPEG-DASH, но и с HLS. Существует реализация hls.js, которая скачивает HLS-плейлисты, скачивает MPEG-TS-сегменты, перепаковывает их в нужный для MSE формат и играет через MSE. Эппл даже сделала шаг в сторону совместимости с MPEG-DASH — использование mp4-контейнеров в HLS.
К концу 2017 года Флеш скорее всего умрёт окончательно, и уже сегодня можно смело начинать проект с MPEG-DASH.
Как конвертировать WebM
Чтобы конвертировать в другой видеоформат, воспользуйтесь программами Movavi Video Converter, Movavi Video Suite, Freemake Video Converter, Free Studio.
Для конвертации программное обеспечение можно и не скачивать, а воспользоваться онлайн-сервисами:
Итак, для открытия и проигрывания рассматриваемого формата не требуется какого-либо редкого софта. Достаточно популярных программ, которые являются частью операционной системы или скачиваются бесплатно. Для конвертации можно воспользоваться платными программами, условно-бесплатными либо онлайн-сервисами.
Читайте также: