Web media extensions что это
Новшества Microsoft Edge в Windows 10 Redstone 4
Весной выйдет бесплатное обновление Redstone 4 для платформы Microsoft Windows 10, которое, как и предыдущие крупные версии ОС, принесёт в браузер Edge новые функции, изменения и улучшения. Судя по предварительным сборкам, интерфейс веб-обозревателя был изменён и получил новые эффекты Reveal и Acrylic в рамках концепции Fluent Design, а также стал контрастнее; раздел с закладками, историей, загрузками и книгами из Windows Store получил ещё более чистый и простой интерфейс.
При нажатии на книжку в разделе библиотеки её теперь можно закреплять на экране «Пуск». Раздел «Избранное» автоматически выводится на новой вкладке, если у пользователя туда занесён хотя бы один сайт. Microsoft научила браузер запоминать информацию вроде имени и адреса, чтобы автоматически заполнять формы на сайтах — конкуренты так умеют уже много лет. Эта информация, включая данные кредитной карты (если пользователь хочет), может синхронизироваться между устройствами — впрочем, придётся всё же вводить код CVV при покупках. Расширены функции безопасности и приватный режим.
Существенно улучшился режим чтения: теперь просмотр документов в формате PDF, веб-страниц в режиме чтения или книги EPUB из Windows Store более единообразно и согласованно. Присутствует улучшенная функция управления закладками для создания и работы с маркерами внутри документов. Появился новый полноэкранный режим чтения, а все созданные заметки и закладки будут синхронизироваться между устройствами пользователя. Microsoft внесла множество улучшений с точки зрения поддержки структуры EPUB, и теперь, в частности, браузер поддерживает EPUB Media Overlays для аудиозаписей.
С точки зрения внутренних изменений, в Edge добавлена поддержка Service Workers, а также API Push и Cache. Это означает, что веб-сайты могут отправлять уведомления, которые появятся в панели Action Center, даже если они не открыты в веб-браузере. Некоторые сайты могут использовать локальный кеш для работы в автономном режиме или повышения производительности.
Пакет Web Media Extensions теперь также установлен по умолчанию, поэтому Edge поддерживает открытые форматы OGG Vorbis для аудио и Theora для видео. Они, например, используются Википедией. Edge также поддерживает расширения CSS для OpenType Font Variations, позволяя использовать отдельные файлы шрифтов, например, несколько гарнитур с разными атрибутами.
Добавлена поддержка продвинутых жестов для ноутбуков, оснащённых сенсорными панелями Precision Touchpad. Жесты вроде тактильного масштабирования или перемотки двумя пальцами будут работать так же, как на обычном сенсором дисплее. Разработчики могут теперь прикрепить DevTools вертикально для удобства работы на широкоформатном экране.
Ещё одно крупное изменение — обещанная поддержка прогрессивных веб-приложений в Edge с Redstone 4. Это очень важно, поскольку Microsoft и Google, похоже, согласны с тем, что за PWA будущее Сети, и весьма отрадно, что они уже внедряются. Наконец, Microsoft оптимизировала и движок, так что браузер должен работать шустрее.
Транслируем WebRTC, RTSP и RTMP потоки на Media Source Extensions по протоколу Websocket
Media Source Extensions
Чтобы проиграть кусок аудио или видео, нужно скормить этот chunk в данный элемент через MSE API. На основе MSE построены HLS-плееры. HLS фрагменты передаются в MSE и отображаются в плеере.
Давайте посмотрим на его Can I Use подробнее.
Как видно из таблицы, MSE поддерживается во всех последних браузерах, кроме iOS Safari и Opera Mini. В этом плане он очень похож на WebRTC, и даже обходит WebRTC по доступности в Safari и IE. Надо сказать, что в Safari 11 WebRTC уже есть, но его на момент написания этой статьи, еще не зарелизили.
Стоит отметить, что MSE и WebRTC — это технологии разных весовых категорий. Грубо говоря, MSE — это только плеер, а WebRTC — это и плеер и стример и звонки (реалтаймовый стриминг с низкой задержкой).
Таким образом, если вам нужен только плеер и нет требований реалтайма (задержки менее 1 секунды), то MSE — это хороший выбор для воспроизведения видеопотоков. Если же нужен реалтайм и без плагинов, то вариантов нет. Нужно брать WebRTC.
Только плеер | Плеер и Стример |
Средняя задержка | Реалтайм (задержка менее 1 секунды) |
WebRTC to MSE
Предположим WebRTC выступает в качестве стримера. Это значит, что браузер или мобильное приложение отправляет видеопоток на сервер.
Самый быстрый способ забрать видеопоток в MSE — это подключиться к серверу по протоколу Websocket и доставить стрим до браузера. В плеере разобрать полученный поток и передать в MSE для воспроизведения.
Аудиокодек Opus транскодируется в AAC для успешного чтения в MSE, но аудио транскодинг уже намного менее ресурсозатратен чем видео.
Примеры
Эти примеры стримера и MSE плеера используют Web Call Server 5 в качестве сервера, конвертирующего WebRTC видеопоток для использования в Media Source Extensions.
В качестве стримера используем веб-приложение Two Way Streaming, которое отправляет WebRTC видеопоток на сервер.
В качестве плеера, используем тестовый плеер с поддержкой Websockets и MSE.
Код плеера MSE работает через высокоуровневое API.
Создаем div — элемент на HTML-странице
И далее вызываем воспроизведение видеопотока.
Передаем div — элемент параметром display и MSE плеер будет вставлен в этот div-блок.
Аналогичным образом работает публикация WebRTC потока с другой страницы.
Потоку назначается уникальное имя stream22, которое будет указано при воспроизведении.
Полный код стримера и плеера можно найти на github.
— стример
— плеер
RTSP to MSE
Еще один кейс использования MSE over Websockets — это воспроизведение видео с IP-камеры или другой системы, которая отдает видеопоток по RTSP.
IP камера, как правило, нативно поддерживает H.264 и AAC кодеки, поэтому кодеки полностью совпадают с теми, что используются на MSE. Это помогает избежать транскодинга, поглощающего ресурсы CPU.
Схема трансляции следующая:
На момент написания статьи, мы протестировали MSE плеер в Chrome, Firefox, Safari.
RTMP to MSE
Протокол RTMP — это фактически стандарт доставки Live контента по направлению от пользователя в CDN.
Поэтому необходимо убедиться в том, что стандартные RTMP потоки с кодеками H.264 и AAC будут корректно играть в Media Source Extensions.
Это можно быстро проверить с помощью кодера типа Wirecast (в качестве альтернативы можно использовать FMLE, ffmpeg, OBS encoder и другие).
1. Открываем Wirecast и меню Output. Задаем адрес сервера и имя RTMP потока как stream44.
2. Стримим поток на сервер.
3.Играем поток в MSE-плеере.
Сравнение с другими технологиями воспроизведения
Теперь посмотрим на MSE в сравнении с другими технологиями воспроизведения видео в браузере.
Защита от копирования в браузере
Незаметно для большинства серферов защита от копирования была «по-тихому» установлена как в Chrome, так и в Internet Explorer под Windows 8. С технической точки зрения речь идет о реализации Encrypted Media Extensions (EME) — расширении веб-стандарта HTML 5. За этим кроется возвышенная идея консорциума Всемирной паутины (W3C) о плавном воспроизведении видеоэлементов в предыдущих плагинах браузеров, […]
Незаметно для большинства серферов защита от копирования была «по-тихому» установлена как в Chrome, так и в Internet Explorer под Windows 8. С технической точки зрения речь идет о реализации Encrypted Media Extensions (EME) — расширении веб-стандарта HTML 5. За этим кроется возвышенная идея консорциума Всемирной паутины (W3C) о плавном воспроизведении видеоэлементов в предыдущих плагинах браузеров, таких как Flash Player или Microsoft Silverlight. Однако именно Flash Player в течение многих лет представлял собой «ворота» для вредоносных программ.
Вместо этого HTML-код и Java Script обеспечивают великолепные мультимедийные функции. Расширения MediaSource Extensions (MSE) дают возможность даже интеллектуального воспроизведения через интерфейс Java Script. Оно автоматически корректирует битрейт в зависимости от того, насколько хорошим является соединение: при наличии «узких мест» битрейт, а, следовательно, и качество изображения, снижается до тех пор, пока вновь не будет достигнута достаточная пропускная способность канала.
Однако для коммерческих служб потокового вещания этого недостаточно: требуется также шифрование для защиты от пиратства. Microsoft, Google и гигант потокового воспроизведения Netflix в последние годы предложили расширение веб-стандарта HTML с помощью EME, где они определили интерфейс JavaScript, который, в свою очередь, может обмениваться ключами с DRM-модулями. Модули Content Decryption Module (CDM) являются либо частью операционной системы (Windows 8.1), либо браузера (Chrome) и могут также предлагаться третьими сторонами; для этого Google приобрела компанию Widevine. Что на самом деле происходит в модуле CDM, не видно ни браузеру, ни операционной системе.
Google и Microsoft — пионеры в сфере модулей DRM
Веб-видео воспроизводится в HTML 5 без использования плагинов. Однако для воспроизведения зашифрованных потоков для браузера требуется лицензионный ключ, который может расшифровать только свой модуль
Технология HTML-DRM весьма проста: если вы обращаетесь к веб-странице с защищенным видео-контентом, используя Chrome или Internet Explorer, браузер определяет, что поток является зашифрованным. Затем JavaScript-приложение, загруженное в браузер, «спрашивает» веб-страницу о ключе. Оно получает от правообладателей лицензию вместе с ключом.
Одновременно с этим программа запрашивает закодированный видеопоток с файлового сервера. Теперь браузер передает ключ и закодированный поток в модуль CDM, который расшифровывает поток и возвращает отдельные видеокадры в веб-просмотрщик, а тот воспроизводит их на мониторе. Тип и стойкость шифрования не определяется в ЕМЕ, за это отвечает реализованная CDM-система.
На странице ie.microsoft.com/testdrive/html5/eme можно проверить, воспроизводит ли Internet Explorer веб-видео, закодированное с помощью EME
Данная процедура может изменяться, так как в EME определен только код Java Script. Таким образом, модуль декодирования при воспроизведении способен «обходить» и браузер, и операционную систему и отправлять кадры непосредственно через видеокарту на HDMI-выход. Благодаря этому блокируется нелегальная запись видеоконтента на компьютер пользователя.
С другой стороны, расширения Encrypted Media Extensions также предусматривают методы шифрования Clear Key, не использующие модуль CDM. При этом не требуется ни сервер лицензий, ни проприетарное шифрование, так как приложение Java Script получает ключ непосредственно с веб-страницы и отправляет его в браузер, который отвечает за декодирование видео: Голливуд не применяет Clear Key в явном виде.
Аргументы «за» и «против» открытого Интернета
Противодействие ЕМЕ оказывают организации, выступающие за открытую Сеть, такие как Electronic Frontier Foundation и Mozilla. Их аргументы таковы: посредством модуля Content Decryption Module теоретически возможно избирательно блокировать любой контент, таким образом, от принципов открытой веб-сети останется очень мало. Также разработчики Firefox не имеют возможности «заглянуть» в CDM. Они не знают, исходят ли угрозы безопасности (и какие) от этого модуля, и в противоположность Flash-плагину модуль декодирования нельзя просто деинсталлировать.
Сторонники, напротив, считают, что жизнь для «серферов» станет проще, так как им не надо будет заботиться о правильном воспроизведении видеоклипов. Кроме того, компания Microsoft больше не разрабатывает приложение Silverlight и через несколько лет хочет полностью прекратить его поддержку. Поставщик потокового видео — компания Netflix — использует его, даже если пользователь не установил EME-совместимый браузер. Поэтому лидеру рынка потокового контента в долгосрочной перспективе требуется другая система.
Flash Player не является хорошей альтернативой, так как его проблемы с безопасностью и производительностью привели к тому, что некоторые мобильные операционные системы предпочитают обходиться без него.
В браузере нельзя проверить, поддерживает ли он Encrypted Media Extensions (EME). Клиенты Netflix, использующие Chrome, включают EME косвенным образомt
Netflix обладает в США такой рыночной мощью, что даже Mozilla поддалась давлению и хочет реализовать EME в Firefox. Для этого браузер получает модуль CDM от компании Adobe, который он рассматривает как «черный ящик»: закодированные фильмы веб-просмотрщик получает от модуля, декодирующего и отправляющего их в расшифрованном виде.
Проблемы с безопасностью надеются минимизировать с помощью так называемой «песочницы», в которой реализуется исполняемый код модуля Adobe CDM. Насколько осторожно Mozilla подходит к решению вопроса, видно из того, что Firefox стал одним из последних препятствий, стоящих на пути массовой реализации DRM путем использования расширений Encrypted Media Extension. Даже Apple внедрила EME в свою новую Mac OS X. Сеть в целом станет немного более коммерческой не позднее, чем EME будет реализована в iOS.
Независимые браузеры более не конкурентоспособны
В 2017 году консорциум W3C принял стандарт Encrypted Media Extensions (EME), тем самым положив конец конкуренции со стороны независимых браузеров.
Теперь невозможно выпустить свой браузер, который будет воспроизводить некоторые из самых популярных материалов в интернете. Сайты вроде Netflix, Hulu, HBO и др. требуют защиты лицензионного контента. Доступ к ним возможен только по лицензионному соглашению с крупными корпорациями.
Во время разработки своего браузера Metastream я упёрся в стену, когда Google отклонил мою заявку на использование их DRM-движка Widevine для воспроизведения зашифрованного медиа. Эта проблема затрагивает и других разработчиков, и обойти её невозможно.
Подобные технологические блокировки введены в первую очередь для того, чтобы успокоить медиаиндустрию.
Капитализм, распространение медиа и пиратство
Все хотят зарабатывать, а дистрибьюторы вроде Netflix зарабатывают на продаже доступа к своему контенту. Конечно, если вы продаёте контент, кто-нибудь захочет получить его бесплатно.
Чтобы защититься от цифровых пиратов, дистрибьюторы используют инструменты под названием Digital Rights Management (DRM).
DRM в программном обеспечении обычно представляет собой чёрный ящик, который контролирует способ доступа к контенту, затрудняя его копирование и распространение. Это не всегда работает на 100%, и цифровое пиратство по-прежнему существует, но DRM мешает большинству людей сохранить фильм, который они смотрят, и поделиться с другими.
Это может показаться разумным в том смысле, что ценный товар должен быть оплачен, но DRM зачастую вызывает дополнительные проблемы для потребителей и авторов контента.
DRM в браузерах
Браузеры в первую очередь стремятся обеспечить всеобщий доступ к контенту в Сети. Блоги, социальные сети, видео, музыка, фотографии и т.д. Расцвет интернета стал возможен благодаря открытой веб-платформе (Open Web Platform).
Открытая веб-платформа — это совокупность открытых (бесплатных) технологий, которые позволяют работать в интернете. Используя открытую веб-платформу, каждый имеет право реализовать программный компонент веб-сайта, не требуя каких-либо согласований или выплаты лицензионных платежей.
Консорциум World Wide Web (W3C) занимается стандартизацией этих технологий, помогая им распространиться в открытом вебе.
До недавнего времени всё работало хорошо. Универсальный доступ ко всей информации осуществлялся через браузеры, такие как Firefox, Chrome, Safari и многие другие. Но с 2013 года W3C начал попытки стандартизировать DRM в веб-браузерах — при поддержке Google, Microsoft и Netflix — внедряя технологию, противоположную открытой веб-платформе.
Исторически, зашифрованный контент воспроизводился в браузерах плагинами вроде Adobe Flash и Microsoft Silverlight. Это привело к дырам в безопасности вне контроля разработчиков браузеров. Чтобы устранить эти проблемы и включить больше технологий в открытую веб-платформу, W3C предложил стандарт Encrypted Media Extensions (EME).
Encrypted Media Extensions (EME) обеспечивает совместимость, лучшую конфиденциальность, безопасность, доступность и удобство просмотра фильмов в интернете.
EME предоставляет общий API, который используется для обнаружения, выбора и взаимодействия с модулями расшифровки контента (Content Decryption Modules, CDM). Браузер должен предоставить совместимый CDM для воспроизведения зашифрованного контента.
Выбор CDM
Предположим, мы придумали отличную новую функцию для браузеров и решили реализовать её в своём браузере — либо на основе существующего проекта с открытым исходным кодом, либо иным образом.
Мы хотим, чтобы эта функция работала на всех сайтах, поэтому нужно предоставить CDM для таких сайтов, как Netflix. Если мы этого не сделаем, пользователям придётся постоянно переключаться на другой браузер только для этих сайтов. Нехорошо.
Скорее всего, у вашего текущего браузера есть модуль CDM. Посмотрим, какой именно.
Браузер | CDM |
---|---|
Chrome | Widevine |
Firefox | Widevine |
Safari | FairPlay |
Edge | PlayReady и Widevine |
Internet Explorer | PlayReady |
Opera | Widevine |
Brave | Widevine |
Vivaldi | Widevine |
Yandex | Widevine |
Мы видим, что есть несколько вариантов: Widevine, PlayReady и FairPlay. Чтобы легально распространить один из этих CDM, мы должны подать заявку.
Google Widevine
На странице контактов Widevine мы видим ссылку на службу поддержки для заключения лицензионного соглашения. Форма запрашивает основную контактную информацию и требует указать название компании.
При подаче запроса на лицензионное соглашение автоматически высылается электронное письмо с сообщением, что запрос получен и направлен соответствующей команде.
А теперь… мы ждём. Возможно, больше четырёх месяцев, как я. Или они пришлют лицензионное соглашение, но затем будут игнорировать вас в течение года.
Даже разработчики Brave — браузера от создателя JavaScript — столкнулись с подобными паузами в общении.
И если нам когда-нибудь пришлют лицензионное соглашение, согласно castLabs (сертифицированный партнёр по внедрению Widevine), Google ещё должна удостоверить аутентичность нашего браузера, прежде чем мы сможем использовать модуль CDM.
После заключения лицензионного соглашения вам будет предложено предоставить CSR’ы для изготовления сертификатов VMP. Google подпишет и вернёт сертификаты, которые после этого можно использовать для VMP-подписи ваших приложений.
Microsoft PlayReady
Система Microsoft PlayReady требует собственных соглашений, которые чётко прописаны в разделе «Распространение загружаемого программного приложения для конечных пользователей» на странице лицензирования PlayReady.
Там много бумажной работы, но они хотя бы устанавливают временны́е рамки для всего процесса. 22 дня звучит гораздо разумнее, чем неизвестное количество времени.
Apple FairPlay Streaming
По всей экосистеме Apple используется запатентованный CDM. Похоже, на сайте FairPlay нет никакой программы открытого лицензирования. В данный момент, перейдя по ссылке FairPlay Streaming Overview и войдя в систему с идентификатором Apple ID, мы видим ответ сервера HTTP 403 Forbidden.
Создание нового CDM
Но подождите, поскольку это Open Web, можно ведь просто создать свой собственный CDM! Из разъяснения W3C по поводу реализаций EME:
Сама спецификация может быть реализована в свободных проектах с открытым исходным кодом, поскольку EME не предписывает никаких конкретных реализаций CDM. [. ] Спецификация EME допускает создание будущих систем CDM, включая системы, более подходящие для проектов свободного программного обеспечения.
К сожалению, CDM — лишь малая часть того, что необходимо для работы DRM. Гораздо более монументальным требованием будет убедить дистрибьюторов доверять этому решению. На такой уровень доверия обычно может претендовать только крупная корпорация.
Обзор архитектуры Widevine DRM даёт более полную картину того, каких усилий требует создание полноценной системы. Трудно представить, что какой-то один человек или малый бизнес способен самостоятельно обеспечить воспроизведение DRM во всех веб-сервисах, которые его требуют.
Итак, какие у нас варианты?
В итоге есть два варианта: Widevine или PlayReady.
С Widevine мы застрянем на неопределённый срок в неизвестности, согласятся ли они предоставить своё решение.
Вывод
После внедрения стандарта EME конкурентоспособность браузеров ограничена контролёрами-посредниками, что идёт вразрез с обещанием платформы Open Web:
Используя открытую веб-платформу, каждый имеет право реализовать программный компонент веб-сайта, не требуя каких-либо согласований или выплаты лицензионных платежей.
Да, стандарт EME может быть реализован кем угодно, но это спорный тезис, если требование CDM говорит об обратном.
Барьеры DRM затронули ряд браузерных приложений. Некоторые из них перечислены ниже:
В конечном счёте, лучшее решение для общества — а не для прибыли — это вообще отказаться от DRM. Поскольку это маловероятно, Google, Microsoft и Apple должны работать над исправлением веб-платформы, которую они повредили.
Web media extensions что это
Скачать:
MS.HEIFImageExtension_v1.0.13472.appx.zip ( 2.24 МБ )
MS.HEVCVideoExtensions_v1.0.20033.appx.zip ( 3.38 МБ )
MS.MPEG2VideoExtension_v1.0.12831.appx.zip ( 1.16 МБ )
MS.RawImageExtension_v1.0.20286.appx.zip ( 749.8 КБ )
MS.VP9VideoExtensions_v1.0.13333.appx.zip ( 3.07 МБ )
MS.WebMediaExtensions_v1.0.13321.appxbundle.zip ( 1.03 МБ )
MS.WebpImageExtension_v1.0.12821.appx.zip ( 671.4 КБ )
Удалить zip и ставить через Портал или Проводник.
spavlin,
Обнови сборки на новые, плз. Хотя кажется они уже совсем не поддерживают мобилку.
hqqddy,
В релизе нашел только это
Microsoft.RawImageExtension_1.0.21371.0.zip ( 704.3 КБ )
Может что-то пропустил.
Новые версии расширений:
Microsoft.HEVCVideoExtensions_1.0.21822.0.zip ( 3.22 МБ )
У меня было такое, когда я поставил диктофон от майков (Запись голоса), у файлов m4a появилась иконка от диктофона, но они не открывались, предлагало поискать софт в магазе. Только после настройки в реестре (для уже зарегистрированных типов файлов в interop tools есть раздел default apps) и ребута всё завелось. Да и не только тогда, у многих видеофайлов ассоциация с «Фото».
Однако, могу предположить, что эти проблемы у меня из-за проги storage explorer, которая прописала себя в ассоциации с кучей типов, которые на самом деле открыть не может.
И могу предположить, что если удалить из реестра параметр дефолтной проги для расширения или протокола, то будет показываться диалог с выбором проги для открытия (у меня так было с APPX, а потом я прописал по дефолту установщик от ПК-версии 10-ки). Но тут не андроид, возможности задать дефолтную прогу прямо из этого диалога не будет, не дошли майки до такого.
VP9 работает, но без звука. Трамбнейлы в проводнике тоже не появляются. А после установки Web Media всё ломается и не воспроизводит. Пробовал все версии, которые тут присутствуют. Последний билд мобильной десятки.