- Объяснение: Сертификация Widevine DRM — TechPP
- Что такое Widevine и как он работает?
- Какие существуют сертификаты Widevine?
- Widevine L3
- Widevine L1
- Как проверить ваше устройство на наличие поддержки Widevine?
- Вывод
- Потоковое HD-видео: как узнать, поддерживает ли ваш смартфон Widevine L1
- Как проверить, поддерживает ли ваш смартфон потоковую передачу HD
- Не все сертификаты одинаковы
- Как узнать, какой у вас телефон Widevine L1
- Потоковая передача Widevine для Android в автономном режиме (Службы мультимедиа версии 3)
- Предварительные требования
- Настройка защиты содержимого в Службах мультимедиа Azure
- Включение автономного режима
- Настройка проигрывателя Android для воспроизведения в автономном режиме
- Работа со старыми устройствами Android
- Создание приложения для воспроизведения Android с помощью Xamarin
- Приложения проигрывателя Chrome для Android
- Дополнительные сведения
Объяснение: Сертификация Widevine DRM — TechPP
Чтобы помочь вам лучше понять, что такое сертификация и как ее наличие влияет на качество потоковой передачи, вот все, что вам нужно знать о сертификации Widevine.
Что такое Widevine и как он работает?
Widevine — одно из наиболее широко используемых решений для управления цифровыми правами (DRM). Он был разработан Widevine Technologies в 90-х годах и позже приобретен Google в 2010 году. Widevine поддерживает несколько форматов и платформ и доступен для большинства смартфонов (Android и iOS), представленных на рынке. Помимо смартфонов, он также поддерживает настольные компьютеры, плееры Blu-Ray, игровые консоли и телеприставки.
Большая часть контента, который вы видите на различных платформах в Интернете, защищена с помощью DRM и других стандартов шифрования, чтобы предотвратить пиратство и его бесплатное распространение в Интернете. В данном случае решением DRM чаще всего является Widevine от Google, а другие зашифрованные решения включают в себя различные способы шифрования и обмен лицензионными ключами, которые обеспечивают безопасное управление и отправку видеоконтента пользователям.
Widevine бесплатна для использования поставщиками контента и не требует какой-либо платы за создание лицензии и регистрацию устройства. Вместо этого все, что нужно производителям смартфонов, — это прояснить процесс сертификации, который включает в себя различные юридические соглашения, внедрение программного обеспечения и некоторые другие меры. Поскольку этот процесс может занять много времени, многие чипсеты для смартфонов Android оснащены необходимыми технологиями, которые упрощают этот процесс. Кроме того, если сертификация не проводится до выпуска устройства, то же самое можно реализовать позже с помощью обновлений программного обеспечения.
Какие существуют сертификаты Widevine?
В общем, многие смартфоны Android имеют тот или иной уровень сертификации Widevine, но все они могут не обязательно иметь одинаковые сертификаты. По сути, существует два типа сертификатов Widevine для Android: L1 и L3.
Widevine L3
Благодаря сертификации Widevine L3 смартфон Android может передавать потоковое содержимое только в стандартном разрешении (SD), т.е. 480p и ниже.
Widevine L1
С другой стороны, с сертификацией Widevine L1 диапазон качества контента увеличивается от высокого разрешения (HD), то есть с 720p до 4K. Вот почему для того, чтобы смартфон Android мог передавать контент как минимум в высоком разрешении (720p), он должен иметь сертификацию Widevine L1, поскольку сертификация L3 разрешает потоковую передачу контента только в стандартном разрешении.
Как проверить ваше устройство на наличие поддержки Widevine?
По мере того, как вы читаете статью, один из риторических вопросов, который может прийти вам в голову, заключается в том, поддерживает ли ваш смартфон Widevine, и если да, есть ли способ узнать, L1 это или L3. Что ж, один из очевидных способов сказать это — попытаться транслировать контент на устройство на разных платформах, таких как Amazon Prime и Netflix, в высоком разрешении. В этом случае, если вы можете транслировать контент в высоком разрешении, это означает, что ваше устройство имеет сертификацию Widevine L1. Однако, если вы не хотите этого делать, есть другой способ, который работает на смартфонах Android и требует загрузки приложения под названием «Информация о DRM». Приложение можно бесплатно скачать с Магазин игр и предоставляет информацию о различных модулях DRM, включая CENC ClearKey, Adobe Primetime, Google Widevine Modular DRM, Marlin, Microsoft Playready и Verimatrix.
Вывод
Это 2019 год, и мы все еще сталкиваемся со смартфонами, не имеющими сертификата Widevine. По нашему мнению, это может быть связано либо с тем, что производители смартфонов не хотят добавлять возможность потоковой передачи контента высокой четкости на свои смартфоны, что маловероятно, поскольку лицензирование бесплатное, либо потому, что его недостаточно. время с производителями, чтобы пройти процесс лицензирования и регистрации, поскольку крайний срок выпуска устройства может приближаться.
Источник
Потоковое HD-видео: как узнать, поддерживает ли ваш смартфон Widevine L1
Если у вас есть смартфон на Android, то, скорее всего, концепция стриминга в HD может только вас заинтересовать. Да, потому что в течение многих лет использование видеоконтента перешло из будущего исключительно на телевидении и теперь включает также телефонию. Это очень значительное преимущество, так как позволяет нам смотреть фильмы и сериалы повсюду, будь то в общественном транспорте, в парке или просто в постели. Однако некоторые из вас могут не знать, что ваш смартфон не может поддержка потоковой передачи в HD. На самом деле не все могут, и именно по этой причине я хочу объяснить вам, как проверить, способен ли ваш телефон или нет.
Как проверить, поддерживает ли ваш смартфон потоковую передачу HD
В отличие от смарт-телевизоров, взлом потокового контента с ПК или телефона может быть намного проще. Вот почему несколько лет назад Google представил Widevine DRM, основанный на системе управления цифровыми правами. Эта технология шифрования гарантирует, что приложения, использующие ее, будут защищены от несанкционированного копирования и распространения контента. Среди этих приложений мы находим Netflix, Prime Video, Дисней +, Google Play Film, СЕЙЧАС и т. Д.

Не все сертификаты одинаковы
Все смартфоны Android изначально оснащены, но существуют различные уровни сертификации Widevine. Каждый раз, когда запускается новый смартфон, Google должен подтверждать его существование под различными профилями. Среди этих сертификатов есть и Widevine: если он будет пройден, то смартфон сможет поддерживать потоковую передачу HD. Это означает, что при наличии соединения он сможет транслировать видео в Качество 720p и выше. Смартфоны, входящие в эту группу, имеют сертификацию Widevine L1. Для достижения этого уровня телефон должен гарантировать высочайшую степень защиты TEE на уровне обработки, шифрования и контроля.
Если поддержка TEE не полная и обработка видео производится отдельно, то смартфон будет иметь сертификацию. Widevine L2 и видео будут ограничены максимумом 540p. Наконец, если ваш телефон не поддерживает TEE, переходите к этому. Widevine L3, где видео достигает максимума 480p. Однако будьте осторожны: разблокировка загрузчика и получение прав root на телефоне L1 автоматически переключится на L3. Также может случиться так, что официальное обновление может вызвать некоторые проблемы, ухудшая степень аттестации.
Пример отсутствия сертификации с Prime Video
Как узнать, какой у вас телефон Widevine L1
Если у вас есть сомнения или любопытство, чтобы узнать, поддерживает ли ваш Android-смартфон потоковую передачу HD, есть приложение, которое подойдет вам. Он называется DRM Info, и вы можете найти его бесплатно в магазине Google Play.
- Скачать информацию о DRM
После загрузки и установки просто запустите его, прокрутите вниз, и вы получите обзор сертификации Widevine Lx вашего устройства.
В качестве альтернативы вы можете использовать то же приложение Netflix. Откройте его, нажмите на значок своей учетной записи вверху справа, выберите «Настройки приложения«, Прокрутите вниз и выберите»Характеристики воспроизведения«. Здесь вы найдете указанную степень сертификации вашего устройства.
Если вы столкнетесь с сертификатом L2 или L3, к сожалению, вы мало что сможете сделать, чтобы получить его на уровне L1. Это шаг, который обязательно коснется команды Google. Если, с другой стороны, проблема связана с неудачным обновлением, мы всегда рекомендуем вам выполнить поиск в Google, чтобы узнать, удалось ли решить проблему другим пользователям с вашей моделью телефона.
Источник
Потоковая передача Widevine для Android в автономном режиме (Службы мультимедиа версии 3)
Ищете документацию по Службам мультимедиа версии 2?
Помимо защиты содержимого для автономной потоковой передачи подписка содержимого мультимедиа и службы аренды предоставляют содержимое, которое можно загрузить. Это подходит при отсутствии подключения к Интернету. Возможно, потребуется загрузить содержимое на ваш телефон или планшет для воспроизведения в режиме «в самолете», когда во время полета нет подключения к сети. Дополнительные сценарии, в которых может потребоваться загрузить содержимое:
- Некоторые поставщики содержимого могут запрещать доставку лицензии DRM за пределы страны или региона. Если пользователь хочет смотреть содержимое во время поездок за границу, необходимо автономное скачивание.
- В некоторых странах и регионах доступность Интернета и пропускная способность ограничены. Пользователи могут загрузить содержимое, чтобы иметь возможность смотреть его в достаточно высоком разрешении для удобного просмотра.
Widevine недоступен в регионе GovCloud.
В этой статье обсуждается реализация воспроизведения в автономном режиме содержимого DASH, защищенного Widevine на устройствах Android. Автономный DRM позволяет создать подписку, модели аренды и приобретения для содержимого, чтобы позволить клиентам ваших служб легко загружать содержимое без подключения к Интернету.
Вы можете создать приложения для проигрывателя Android такими тремя способами:
- Создание проигрывателя с использованием API Java пакета SDK ExoPlayer.
- Создание проигрывателя с использованием привязки Xamarin пакета SDK ExoPlayer.
- Создание проигрывателя с использованием расширения зашифрованных носителей (EME) и расширения источника мультимедиа (MSE) в браузере Chrome для мобильных устройств версии 62 или более поздней.
В статье также содержатся ответы на некоторые распространенные вопросы, связанные с автономной потоковой передачей содержимого, защищенного Widevine.
В автономной системе DRM оплачивается только один запрос на лицензию при скачивании содержимого. Плата за неудачные попытки не взимается.
Предварительные требования
Перед реализацией автономного DRM для Widevine на устройствах Android вам потребуется:
Ознакомиться с концепциями, реализованными для защиты интернет-содержимого с помощью Widevine DRM. Это подробно рассматривается в следующих документах и примерах:
Вам потребуется изменить код в Шифровать с помощью DRM, используя .NET, чтобы добавить конфигурации Widevine.
Ознакомиться с пакетом SDK ExoPlayer Google для Android, пакетом SDK видеопроигрывателя с открытым исходным кодом, поддерживающего автономное воспроизведение Widevine DRM.
Настройка защиты содержимого в Службах мультимедиа Azure
В методе GetOrCreateContentKeyPolicyAsync выполните следующие действия:
Укажите, как выполняется авторизация в службе доставки лицензий доставки ключей содержимого.
Настройте шаблон лицензии Widevine.
Включение автономного режима
Чтобы включить автономный режим лицензий Widevine, необходимо настроить шаблон лицензии Widevine. В объекте policy_overrides для свойства can_persist задайте значение true (по умолчанию false), как показано в ConfigureWidevineLicenseTempate.
Настройка проигрывателя Android для воспроизведения в автономном режиме
Для разработки приложений со встроенным проигрывателем для устройств Android проще всего использовать пакет SDK Google ExoPlayer, пакет SDK видеопроигрывателя с открытым кодом. ExoPlayer поддерживает функции, не поддерживаемые встроенным API MediaPlayer для Android, в том числе протоколы доставки MPEG-DASH и Microsoft Smooth Streaming.
ExoPlayer версии 2.6 и более поздних версий включает в себя множество классов, поддерживающих воспроизведение Widevine DRM в автономном режиме. В частности класс OfflineLicenseHelper предоставляет служебные функции, упрощающие загрузку, обновление и выдачу автономных лицензий с помощью DefaultDrmSessionManager. Классы, предоставленные в папке library/core/src/main/java/com/google/android/exoplayer2/offline/ пакета SDK, поддерживают загрузку видеосодержимого в автономном режиме.
Указанный ниже перечень классов упрощает автономный режим в пакете SDK ExoPlayer для Android.
- library/core/src/main/java/com/google/android/exoplayer2/drm/OfflineLicenseHelper.java;
- library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSession.java;
- library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.java;
- library/core/src/main/java/com/google/android/exoplayer2/drm/DrmSession.java;
- library/core/src/main/java/com/google/android/exoplayer2/drm/ErrorStateDrmSession.java;
- library/core/src/main/java/com/google/android/exoplayer2/drm/ExoMediaDrm.java;
- library/core/src/main/java/com/google/android/exoplayer2/offline/SegmentDownloader.java;
- library/core/src/main/java/com/google/android/exoplayer2/offline/DownloaderConstructorHelper.java;
- library/core/src/main/java/com/google/android/exoplayer2/offline/Downloader.java;
- library/dash/src/main/java/com/google/android/exoplayer2/source/dash/offline/DashDownloader.java.
Во время разработки приложения разработчикам следует использовать руководство разработчика ExoPlayer и соответствующий блог разработчиков. Сейчас компания Google еще не выпустила полностью документированный пример реализации или пример кода для приложения ExoPlayer, поддерживающего автономный режим Widevine, поэтому информация ограничена блогом и руководством для разработчиков.
Работа со старыми устройствами Android
Для некоторых старых устройств Android необходимо задать значения для следующих свойств policy_overrides (определенных в шаблоне лицензии Widevine): rental_duration_seconds, playback_duration_seconds и license_duration_seconds. Кроме того, для них можно задать значение «ноль», что будет означать неограниченную длительность.
Значения необходимо задать, чтобы избежать ошибки переполнения целочисленного значения. Дополнительные сведения об этой проблеме приведены на страницах https://github.com/google/ExoPlayer/issues/3150 и https://github.com/google/ExoPlayer/issues/3112.
Если не задать значения явно, для свойств PlaybackDurationRemaining и LicenseDurationRemaining будут назначены очень большие значения (например, 9223372036854775807, которое является максимально положительным значением для 64-разрядного целого числа). В результате этого срок действия лицензии Widevine истечет и расшифровка не произойдет.
Эта проблема не возникает в Android 5.0 Lollipop или более поздней версии, так как Android 5.0 является первой версией Android, которая полностью поддерживает ARMv8 (Advanced RISC Machine) и 64-разрядные платформы, тогда как Android 4.4 KitKat изначально поддерживает ARMv7 и 32-разрядные платформы, как и другие ранние версии Android.
Создание приложения для воспроизведения Android с помощью Xamarin
Привязки Xamarin для ExoPlayer доступны по следующим ссылкам:
Ознакомьтесь со следующим обсуждением: Привязка Xamarin.
Приложения проигрывателя Chrome для Android
Начиная с выпуска Chrome для Android версии 62 в EME поддерживается постоянная лицензия. Widevine L1 теперь поддерживается в браузере Chrome для Android. Это позволяет создавать приложения для автономного воспроизведения в браузере Chrome, если у пользователей эта версия Chrome (или более поздняя).
Кроме того, компания Google выпустила Progressive Web App (PWA) и создала открытый код для него:
- Исходный код
- Версия, размещенная в Google (работает только в Chrome версии 62 и более поздних версий на устройствах Android).
Если обновить браузер Chrome версии 62 (или более поздней) для мобильных устройств на телефоне Android и протестировать размещенный выше пример приложения, будет работать как потоковая передача в оперативном режиме, так и воспроизведение в автономном.
Приведенное выше приложение PWA с открытым исходным кодом создается на языке Node.js. Если вы хотите разместить собственную версию на сервере Ubuntu, необходимо учитывать следующие распространенные обнаруженные проблемы, которые могут помешать воспроизведению.
- Проблема CORS: пример видео в примере приложения размещен в https://storage.googleapis.com/biograf-video-files/videos/. Компания Google настроила CORS для всех своих тестовых примеров, размещенных в контейнере Google Cloud Storage. Они обслуживаются с заголовками CORS, где явно указана запись CORS https://biograf-155113.appspot.com (домен, в котором компания Google разместила свой пример), препятствующая доступу с других сайтов. При попытке доступа появится сообщение об ошибке HTTP: Failed to load https://storage.googleapis.com/biograf-video-files/videos/poly-sizzle-2015/mp4/dash.mpd: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘https:\//13.85.80.81:8080’ is therefore not allowed access. If an opaque response serves your needs, set the request’s mode to ‘no-cors’ to fetch the resource with CORS disabled.
- Проблема с сертификатом: начиная с версии 58 Chrome для EME для Widevine требуется протокол HTTPS. Таким образом, необходимо разместить пример приложения по протоколу HTTPS с сертификатом X509. Обычный тестовый сертификат не подходит из-за следующих требований. Вам необходимо получить сертификат, который удовлетворяет следующим минимальным требованиям:
- Для Chrome и Firefox требуется, чтобы в сертификате был параметр «Альтернативное имя субъекта» (SAN).
- Сертификат должен быть подписан доверенным центром сертификации, самозаверяющий сертификат разработки не подходит.
- Сертификат должен иметь имя CN, соответствующее DNS-имени веб-сервера или шлюза.
Дополнительные сведения
Widevine — это служба, которая предоставляется компанией Google Inc. и подпадает под условия предоставления услуг и политику конфиденциальности Google Inc.
Источник