Воспроизведение контента DRM с Flutter / React Native на IOS и Android

Я искал любое решение, позволяющее воспроизводить контент DRM на IOS и Android. Я хочу разработать кроссплатформенное решение, которое может воспроизводить контент, защищенный DRM, независимо от того, Widevine это или готово для воспроизведения.

Для Flutter не было никакого решения, поэтому я перешел на RN

Что касается React Native, я только что обнаружил, что Exoplayer может воспроизводить широкую ленту, но не поддерживает контент Playready DRM.

Может быть, кто-нибудь из вас, ребята, поможет мне узнать, как я могу это сделать на обеих платформах?

С уважением


person LISN    schedule 22.08.2018    source источник


Ответы (1)


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

Как правило, следующие DRM изначально поддерживаются на устройстве и в браузерах - наивно означает, что DRM обычно встроен в ОС или браузер при покупке устройства:

  • Устройства Android - Widevine
  • Браузер Chrome на ПК или MAC - Widevine
  • Устройство iOS - FairPlay
  • Браузер Safari - FairPlay
  • Браузер Internet Explorer - PlayReady

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

К сожалению, доступ к спецификации ограничен, если у вас нет доступа, возможно, стоит взглянуть на некоторые веб-сайты упаковщиков, которые будут включать информацию о создании потоков CENC, например:

Есть еще одна вещь, о которой следует знать, поскольку традиционно iOS / FairPlay использует другой режим шифрования AES, чем Widevine и PlayReady - он использует режим AES CBC, а не режим CTR. Тем не менее, Widevine и PlayReady недавно объявили о поддержке режима AES CBC, поэтому нирвана единого зашифрованного формата, который будет воспроизводиться на всех устройствах, теперь теоретически возможна - скорее всего, потребуется некоторое время, чтобы поддержка стала доступной для всех устройств, тем не мение.

person Mick    schedule 28.08.2018