Nano Hash - криптовалюты, майнинг, программирование

Как добавить лицензию dash DRM в список воспроизведения m3u?

В течение последних нескольких дней мы пытаемся добавить лицензионный ключ DRM в наш поток тире в списке m3u. Мы можем воспроизвести это через веб-плеер shaka, но руководству необходимо воспроизвести это через Android-бокс с KODI или любым клиентским приложением. Есть несколько вариантов, но он не работает с клиентами IPTV.

#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha
#KODIPROP:inputstream.adaptive.license_key=https://link.to.license.server.com
#EXTINF:-1,Office VOD 1
https://cdn.ouroffice.com/manifest.mpd

Пробовал приведенный выше код с Kodi и другими доступными приложениями IPTV, но безуспешно. Есть ли способ передать ключ DRM через список m3u?


Ответы:


1

Я думаю, что в вашем примере может быть смешано несколько разных концепций.

DASH и HLS — это протоколы потоковой передачи, которые по существу разбивают видео на фрагменты и предоставляют индекс для фрагментов в файле манифеста.

DASH использует «.mpd» в качестве типа файла манифеста.

HLS использует «.m3u» в качестве типа файла манифеста.

Итак, во-первых, если вы используете файл M3U, похоже, что вы используете HLS, а не DASH.

И DASH, и HLS могут поддерживать зашифрованные дорожки и могут включать в манифест информацию, указывающую используемые схемы шифрования и, в некоторых случаях, способ доступа к ключу.

Для DASH вы можете увидеть пример здесь (от:https://dashif-documents.azurewebsites.net/Guidelines-Security/master/Guidelines-Security.html):

<ContentProtection
  schemeIdUri="urn:uuid:d0ee2730-09b5-459f-8452-200e52b37567"
  value="FirstDRM 2.0">
  <cenc:pssh>YmFzZTY0IGVuY29kZWQgY29udGVudHMgb2YgkXBzc2iSIGJveCB3aXRoIHRoaXMgU3lzdGVtSUQ=</cenc:pssh>
  <dashif:authzurl>https://example.com/tenants/5341/authorize</dashif:authzurl>
  <dashif:laurl>https://example.com/AcquireLicense</dashif:laurl>
</ContentProtection>

Вышеупомянутое является вымышленным DRM — например, для widevine вы должны заменить схему widevineIdUri.

Информация HLS DRM выглядит так (от: https://tools.ietf.org/html/rfc8216):

 #EXTM3U
   #EXT-X-VERSION:3
   #EXT-X-MEDIA-SEQUENCE:7794
   #EXT-X-TARGETDURATION:15

   #EXT-X-KEY:METHOD=AES-128,URI="https://priv.example.com/key.php?r=52"

   #EXTINF:2.833,
   http://media.example.com/fileSequence52-A.ts
   #EXTINF:15.0,
   http://media.example.com/fileSequence52-B.ts
   #EXTINF:13.333,
   http://media.example.com/fileSequence52-C.ts

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

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

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..