Образцы / учебное пособие для платформы DRM в Android
Android 4.0 приносит Drm Framework для смартфонов. Мне интересно написать код, который воспроизводит видео, защищенное DRM, но не может найти достаточно информации.
- Есть ли какие-либо учебные пособия по использованию структуры DRM? Образец кода?
- Как настроить среду - серверную часть, которая создает контент и лицензии?
- Есть ли в Интернете видео с защитой DRM, которые я могу использовать для тестирования?
- Платформа плагина требует расширяемости, но я не могу найти ни определения 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, поэтому этот ответ основан на этом опыте.
Вы можете найти учебник по внедрению Widevine DRM в приложении (код для образца Android-приложения также связан внутри сообщения), в основном в обоих случаях вам нужно загрузить внешний модуль для DRM при создании экземпляра видеоплеера внутри приложения. Внешний модуль необходимо настроить с указанием местоположения серверов лицензий MPD и DRM, чтобы игрок знал, какой контент воспроизводить и как его расшифровать для воспроизведения, некоторые ресурсы для реализации Widevine DRM в Android:
- Как настроить Bitmovin Android SDK с контентом DRM Today: https://bitmovin.com/docs/player/tutorials/how-to-setup-bitmovin-android-sdk-with-drm-today-content
- Android SDK с использованием ExpressPlay (Java, Widevine DRM): https://bitmovin.com/docs/player/tutorials/how-to-setup-bitmovin-android-sdk-with-expressplay-content
Вы можете использовать тестовый прокси-сервер 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 и обмен ключами.
Поскольку сложно создавать потоки с нуля, чтобы проверить правильность работы вашей конфигурации, вы можете использовать несколько различных наборов данных, доступных здесь: https://bitmovin.com/mpeg-dash-hls-examples-sample-streams/
- Можете прояснить вопрос?
Вероятно, один из способов проверить - использовать демонстрационное приложение в библиотеке Exoplayer. Демонстрационный проигрыватель использует некоторый тестовый контент для расширенного просмотра и воспроизведения. Таким образом, вы можете обратиться к используемым API.