Как реализовать видео DRM в iOS

Я ищу для реализации DRM в iOS-видеоплеере, но я не уверен, как это реализовать. Чтобы реализовать видео DRM (при использовании аппаратного ускорения H264 с аппаратным ускорением Apple), мне нужен способ подачи расшифрованного потока H264 в стандартные API-интерфейсы воспроизведения iOS.

Согласно этому вопросу, в сентябре 2010 года реализовать DRM стороннего DRM не удалось. Там на форумах разработчиков Apple, который никуда не годится. Однако на сегодняшний день существует несколько сторонних библиотек DRM: Widevine, Irdeto (PDF), Марлин. Они явно нашли способ передать пользовательский поток медиа-плеерам в приложениях, одобренных Apple.

Я нашел два вывода. Одним из них является предложение создать настраиваемый протокол URL, но люди, похоже, плохо справляются с этим с помощью видео. Другая задача - создать поток локального HTTP-сервера и предоставить контент потоковым потоком HTTP на 127.0.0.1 внутри iDevice. Я хотел бы быть очень уверенным, что Apple одобрит, прежде чем идти по этому маршруту.

Итак, какие одобренные Apple API используют сторонние реализации DRM для получения дешифрованных видеоданных в видеоплеер?

Изменить: последний BBC iPlayer для iOS позволяет загружать программы для последующего просмотра. Либо они сохраняют содержимое в явном виде, либо устраняют эту проблему.

Ответ 1

Вы можете начать дешифрование файла в другой файл и воспроизвести этот файл при расшифровке. Вам нужно будет забросить его на несколько секунд, но он будет работать.

Кроме того, вам нужно убедиться, что атом moov находится перед атомом mdat в файле, иначе он не будет работать. (AVFoundation, например, создает MP4, где атом moov приходит после атома mdat, и поэтому их нужно будет изменить для работы)

Ответ 2

Рабочее решение - это локальный HTTP-сервер. Но патентная заявка была представлена ​​Authentec.

http://www.google.com/patents/US20120284802