Образцы / учебное пособие для платформы DRM в Android

Android 4.0 приносит Drm Framework для смартфонов. Мне интересно написать код, который воспроизводит видео, защищенное DRM, но не может найти достаточно информации.

  1. Есть ли какие-либо учебные пособия по использованию структуры DRM? Образец кода?
  2. Как настроить среду - серверную часть, которая создает контент и лицензии?
  3. Есть ли в Интернете видео с защитой DRM, которые я могу использовать для тестирования?
  4. Платформа плагина требует расширяемости, но я не могу найти ни определения AI плагина, ни описание, как создать / добавить собственный плагин

2 ответа

РЕДАКТИРОВАТЬ: пример сквозного подключаемого модуля DRM теперь доступен в AOSP в frameworks/base/drm/libdrmframework/plugins/passthru/


Есть ли какие-либо учебные пособия по использованию структуры DRM? Образец кода?

К сожалению, пока нет. Единственная общедоступная документация по этому вопросу находится в сводной документации пакета android.drm.

Как настроить среду - серверную часть, которая создает контент и лицензии?

Это специфично для поставщика DRM.

Есть ли в Интернете видео с защитой DRM, которые я могу использовать для тестирования?

Это также характерно для поставщика DRM.

Платформа плагина требует расширяемости, но я не могу найти ни определения AI плагина, ни описание, как создать / добавить собственный плагин

Я думаю, что это станет более понятным, как только исходный код будет выпущен, но пока, к сожалению, никакой дополнительной информации по этому вопросу нет.

Хорошее объяснение концепций DRM и DRM на Android доступно здесь: http://developer.samsung.com/android/technical-docs/DRM-in-Android

Android может быть сложной средой для воспроизведения DRM, есть несколько аспектов, которые следует учитывать, вот моя лучшая попытка предоставить лучшие учебные пособия по внедрению DRM в приложении Android. Также сложно дать глобальный ответ по DRM, это зависит от сценариев использования, требований к контенту, поддержки устройств. Здесь я предлагаю только один подход, но есть и другие. Плеером Android по умолчанию является Exoplayer, который необходимо настроить для поддержки DRM, тогда как у Bitmovin-плеера есть эта функция из коробки. У меня есть опыт профессиональной реализации DRM, работы с конфигурацией в реальном мире в Bitmovin, поэтому этот ответ основан на этом опыте.

  1. Вы можете найти учебник по внедрению Widevine DRM в приложении (код для образца Android-приложения также связан внутри сообщения), в основном в обоих случаях вам нужно загрузить внешний модуль для DRM при создании экземпляра видеоплеера внутри приложения. Внешний модуль необходимо настроить с указанием местоположения серверов лицензий MPD и DRM, чтобы игрок знал, какой контент воспроизводить и как его расшифровать для воспроизведения, некоторые ресурсы для реализации Widevine DRM в Android:

  2. Вы можете использовать тестовый прокси-сервер DRM для защиты и расшифровки контента с помощью DRM:

    • Учебник по созданию контента с несколькими DRM, предоставленный Bitmovin, вот ссылка: https://bitmovin.com/docs/encoding/tutorials/how-to-create-multi-drm-protected-content-with-intertrust-expressplay
    • Проверьте воспроизведение на плеере, чтобы проверить поток. Для тестирования с образцом содержимого DASH (Tears of Steel), защищенным DRM, и тестовым прокси Widevine, вы можете использовать этот проигрыватель: https://bitmovin.com/demos/drm
    • Содержимое Tears of Steel для URL-адреса манифеста, используйте это значение: https://storage.googleapis.com/wvmedia/cenc/h264/tears/tears_hd.mpd
    • В тестовой службе Widevine Proxy используйте это значение: https://widevine-proxy.appspot.com/proxy
    • После этого вы можете воспроизводить контент с защитой Widevine DRM!
    • Если вы столкнулись с трудностями, используйте Chrome Web Inspector и на вкладке "Сеть" проверьте запрос от проигрывателя к серверу лицензий DRM и обмен ключами.
  3. Поскольку сложно создавать потоки с нуля, чтобы проверить правильность работы вашей конфигурации, вы можете использовать несколько различных наборов данных, доступных здесь: https://bitmovin.com/mpeg-dash-hls-examples-sample-streams/

  4. Можете прояснить вопрос?

Вероятно, один из способов проверить - использовать демонстрационное приложение в библиотеке Exoplayer. Демонстрационный проигрыватель использует некоторый тестовый контент для расширенного просмотра и воспроизведения. Таким образом, вы можете обратиться к используемым API.

Другие вопросы по тегам