Как реализовать видео 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