PlayReady DRM на iOS: можете ли вы скопировать дешифрованное видеоизображение в свой собственный контекст GL?
Кто-нибудь имел опыт использования Microsoft PlayReady Client SDK на iOS?
PlayReady Client SDK для iOS - используется для разработки приложений с поддержкой PlayReady, использующих собственные API-интерфейсы iOS. Этот SDK можно использовать для реализации защиты PlayReady для форматов мультимедиа, которые изначально поддерживает iOS, таких как HLS, прямое воспроизведение и воспроизведение по запросу MPEG- DASH, Smooth Streaming и HLS-контента, а также различные функции PlayReady.
И если да, то вы тоже
- возможность получить ссылку на расшифрованный буфер данных / пикселей
- возможность получить указатель на идентификатор текстуры, показывающий расшифрованное видеоизображение
- или нашли другой способ получения доступа к визуальным носителям для отображения их в собственном контексте GL?
Вариант использования будет заключаться в потоковой передаче зашифрованных аудиовизуальных мультимедиа из сети на устройство iOS, их дешифрование и использование дешифрованных данных для создания изображений, которые затем отображаются на текстуре OpenGL.
Почему PlayReady, а не FairPlay?
Похоже, что после того, как вы используете FairPlay, единственный способ отобразить ваш защищенный видеоконтент - это использовать AVPlayerLayer. Похоже, что на сегодняшний день нет способа извлечь защищенный FairPlay носитель HLS из API Apple, чтобы, например, отобразить его на текстуре OpenGL в трехмерном пространстве.
2 ответа
Я никогда не использовал PlayReady Client SDK для iOS, но, насколько я понимаю, у вас не должно быть доступа ни к одному из них.
PlayReady Client SDK поставляется с готовым к использованию компонентом MediaPlayerController, унаследованным от MPMediaPlayback
, Вы должны использовать этот компонент для воспроизведения защищенного контента (поддерживает только H.264 и AAC). Насколько я понимаю, этот компонент уже обрабатывает загрузку, дешифрование, декодирование и рендеринг контента (он также обеспечивает просмотр). Я не знаю ни одного низкоуровневого API, представленного в PlayReady iOS SDK, который бы давал вам доступ непосредственно к буферам расшифровки. Я также недостаточно разбираюсь в воспроизведении медиафайлов на iOS, чтобы сказать вам, можно ли MPMediaPlayback
унаследованный компонент.
Низкоуровневый доступ к дешифрованию доступен только в том случае, если вы используете комплект переноса PlayReady напрямую, но для этого требуется совершенно иная лицензия, и вам потребуется создать собственный порт PlayReady для iOS. Набор для переноса PlayReady больше предназначен для производителей микросхем и устройств, а не для разработчиков приложений, и порты должны соответствовать рекомендациям по надежности PlayReady.
Ответ определенно должен быть "нет", иначе DRM не справился бы со своей работой очень хорошо!
К сожалению, если бы вы могли получить необработанные данные, было бы довольно легко сохранить копию файла.
Обратите внимание, что в случае, если это поможет вам, некоторые ОС позволят вам применять фильтры и преобразования к зашифрованному фрейму. Я недостаточно знаком с iOS в этой области, но на Android это определенно возможно.