Drm widevine установить на телевизор

2 года пытаюсь найти способ полного обхода Widevine DRM, чтобы можно было скачивать контент с Netflix, Amazon Prime, Hulu, HBO Max и пр. не просто в Full HD, как может сделать сейчас практически каждый, а в 4K HDR, HDR10+, Dolby Vision + Atmos. Честно говоря, перепробовал все публичные способы: от банальных расширений, умеющих вытаскивать HLS-стримы, до продвинутых скриптов.

Некоторые программы умеют скачивать только часть контента с онлайн-кинотеатров, другие не дают даже докоснуться до видео из-за старой версии браузера, используемого для рипа… Подводных камней много, и мне надоело с ними бороться, поэтому нужно решение, которое раз и навсегда решит мою проблему.

Прочитаю все сообщения на Хабре и в ЛС в Telegram.

  • Вопрос задан 15 апр.
  • 222 просмотра

3 комментария

Сложный 3 комментария

Источник: qna.habr.com

Как подключить DRM? Документация по интеграции drmnow! multi-drm

В состав нашего drmnow! multi-drm решения входят следующие DRM-системы:

Опять HDCP и DRM Kinopoisk HD

Мы рекомендуем использовать Shaka Packager — утилиту для запаковывания и шифрования аудио/видео-контента.

Для начала работы Вам понадобятся [project] и [token].

Для их получения создайте drmnow! multi-drm проект в личном кабинете cdnnow!

  • [project] — название вашего проекта в личном кабинете cdnnow! Используется при создании защищенного контента и при получении лицензий для проигрывания контента;
  • [token] — секретный ключ доступа к API drmnow! multi-drm. Никому не сообщайте его.

2. Подготовка видео

2.1. Общие сведения

Shaka packager поддерживает видео в различных форматах.

Для VOD мы рекомендуем использовать формат mp4.

Для Live есть возможность использовать два варианта:

  • В случае передачи сигнала через интернет необходимо использовать протокол RTMP;
  • В случае передачи сигнала через прямое соединение необходимо использовать протокол UDP.

Защищенное drmnow! multi-drm видео можно запаковать в один из следующих форматов:

  • mp4 file, MPEG-4;
  • DASH manifest, Dynamic Adaptive Streaming over HTTP;
  • HLS playlist, HTTP Live Streaming (кроме Wiseplay и Playready);
  • MSS playlist, Microsoft Smooth Streaming (Playready).

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

Информация о фрагментах записывается в плейлист, который передается плееру для воспроизведения.

Ниже приведены примеры работы drmnow! multi-drm для разных DRM-систем.

Еще по теме:  Wink от теле2 как пользоваться на телевизоре

Здесь и далее подразумевается использование ОС Linux.

2.2. Shaka Packager + Widevine, Playready, Wiseplay + DASH Manifest

Используйте следующий bash-скрипт для конвертации mp4 в DASH.

#!/usr/bin/env bash # Проект из личного кабинета cdnnow! project=»» # Ключ доступа из личного кабинета cdnnow! token=»» # Идентификатор контента, уникальное для каждого вашего видео файла имя contentId=»» # Путь до исходного видео файла videoSource=»path/to/video.mp4″ # Путь до директории с результатами outputFolder=»path/to/output/folder» # Shaka Packager ./packager in=»$videoSource,stream=0,init_segment=$outputFolder/v0_init.m4v,segment_template=$outputFolder/v0_$Number$.m4v» in=»$videoSource,stream=1,init_segment=$outputFolder/a0_init.m4a,segment_template=$outputFolder/a0_$Number$.m4a» —generate_static_live_mpd —segment_duration 6 —fragment_duration 6 —default_language ru —mpd_output «$outputFolder/index.mpd» —enable_widevine_encryption —protection_systems Widevine,PlayReady —key_server_url «https://$project.nowdrm.co/v2/keyservice/contentkey/get?token=$token» —content_id «$contentId»

Советы

—protection_systems Widevine,PlayReady
—protection_systems Widevine,PlayReady,Wiseplay
./mp4dump path/to/output/folder/v0_init.mp4

Утилита (вывод только секций [pssh] ):

. [pssh] size=12+76 system_id = [ed ef 8b a9 79 d6 4a ce a3 c8 27 dc d5 1d 21 ed] data_size = 56 [pssh] size=12+538 system_id = [9a 04 f0 79 98 40 42 86 ab 92 e6 5b e0 88 5f 95] data_size = 518 [pssh] size=12+235 system_id = [3d 5e 6d 35 9b 9a 41 e8 b8 43 dd 3c 6e 72 c4 2c] data_size = 215

Присутствуют идентификаторы всех трех DRM-систем, то есть запаковка прошла успешно.

2.3. Shaka Packager + Fairplay + HLS playlist

Используйте следующий bash-скрипт для конвертации mp4 в HLS.

#!/usr/bin/env bash # Проект из личного кабинета cdnnow! project=»» # Ключ доступа из личного кабинета cdnnow! token=»» # Идентификатор контента, уникальное для каждого вашего видео файла имя contentId=»» # Идентификатор ключа шифрования, base64 keyIdBase64=»» # Ключ шифрования, base64 keyBase64=»» # Начальный вектор ключа шифрования, base64 ivBase64=»» # Путь до исходного видео файла videoSource=»path/to/video.mp4″ # Путь до директории с результатами outputFolder=»path/to/output/folder» # Shaka Packager ./packager in=»$videoSource,stream=0,init_segment=$outputFolder/v0_init.m4v,segment_template=$outputFolder/v0_$Number$.m4v» in=»$videoSource,stream=1,init_segment=$outputFolder/v1_init.m4v,segment_template=$outputFolder/v1_$Number$.m4v» in=»$videoSource,stream=2,init_segment=$outputFolder/v2_init.m4v,segment_template=$outputFolder/v2_$Number$.m4v» in=»$videoSource,stream=3,init_segment=$outputFolder/v3_init.m4v,segment_template=$outputFolder/v3_$Number$.m4v» in=»$videoSource,stream=4,init_segment=$outputFolder/v4_init.m4v,segment_template=$outputFolder/v4_$Number$.m4v» in=»$videoSource,stream=5,language=ru,init_segment=$outputFolder/a5_init.m4a,segment_template=$outputFolder/a5_$Number$.m4a» —segment_duration 6 —fragment_duration 6 —default_language ru —hls_master_playlist_output «$outputFolder/master.m3u8» —hls_playlist_type VOD —protection_scheme cbcs —enable_raw_key_encryption —protection_systems FairPlay —keys label=:key_id=$keyIdBase64:key=$keyBase64 —iv $ivBase64 —hls_key_uri skd://$contentId

Советы

Для получения значений переменных keyIdBase64, keyBase64, ivBase64 по contentId и keyId можно использовать SPEKE API V1 по адресу https://[project].nowdrm.co/drm/speke?token=[token].

2.4. Shaka Packager + Playready + MSS playlist

Используйте следующий bash-скрипт для конвертации mp4 в MSS.

#!/usr/bin/env bash # Проект из личного кабинета cdnnow! project=»» # Ключ доступа из личного кабинета cdnnow! token=»» # Идентификатор контента, уникальное для каждого вашего видео файла имя contentId=»» # Путь до исходного видео файла videoSource=»path/to/video.mp4″ # Путь до директории с результатами outputFolder=»path/to/output/folder» # Shaka Packager With MSS support ./packager-mss in=»$videoSource,stream=0,init_segment=$outputFolder/v0_init.m4v,segment_template=$outputFolder/v0_$Number$.m4v» in=»$videoSource,stream=1,init_segment=$outputFolder/v1_init.m4v,segment_template=$outputFolder/v1_$Number$.m4v» in=»$videoSource,stream=2,init_segment=$outputFolder/v2_init.m4v,segment_template=$outputFolder/v2_$Number$.m4v» in=»$videoSource,stream=3,init_segment=$outputFolder/v3_init.m4v,segment_template=$outputFolder/v3_$Number$.m4v» in=»$videoSource,stream=4,init_segment=$outputFolder/v4_init.m4v,segment_template=$outputFolder/v4_$Number$.m4v» in=»$videoSource,stream=5,language=ru,init_segment=$outputFolder/a5_init.m4a,segment_template=$outputFolder/a5_$Number$.m4a» —segment_duration 6 —fragment_duration 6 —dvr_window_length 36 —default_language ru —duration 0 —segment_sap_aligned —fragment_sap_aligned —mss_client_manifest_output $outputFolder/manifest.ismc —enable_widevine_encryption —clear_lead 0 —protection_systems PlayReady —key_server_url «https://$project.nowdrm.co/v2/keyservice/contentkey/get?token=$token» —content_id «$contentId» —license_acquisition_server_url https://[project].nowdrm.co/v2/playready

2.5. Flussonic

Интеграция с flussonic происходит по протоколу speke (cpix).

Пример конфигурации flussonic:

stream stream_name < input . meta drm_id «stream_name»; protocols dash hls mss; drm cpix keyserver=https://[project].nowdrm.co/drm/speke?token=[token]; >

Для воспроизведения зашифрованного контента используйте следующие сервера лицензий:

  • Fairplay: https://[project].nowdrm.co/fairplay
  • Playready: https://[project].nowdrm.co/playready
  • Widevine: https://[project].nowdrm.co/widevine
  • Wiseplay: https://[project].nowdrm.co/wiseplay
Еще по теме:  Куда звонить не работает антенна телевизора в доме

3. Воспроизведение зашифрованного DRM видео

3.1. Системные требования

Минимальные системные требования для настольных устройств:

  • Windows 7 / Ubuntu + браузеры Chrome, Firefox (Widevine);
  • Mac OS 10.0 + браузеры Chrome, Firefox (Widevine);
  • Mac OS 10.0 + браузер Safari (Fairplay);
  • Windows 7 + браузеры Internet Explorer, Edge (Playready).

Минимальные системные требования для мобильных устройств:

3.2. Адреса серверов лицензий

  • Fairplay: https://[project].nowdrm.co/v2/fairplay
  • Playready: https://[project].nowdrm.co/v2/playready
  • Widevine: https://[project].nowdrm.co/v2/widevine
  • Wiseplay: https://[project].nowdrm.co/v2/wiseplay

3.3. Тестирование воспроизведения

Для тестирования можно воспользоваться нашим плеером по адресу https://playernow.ru.
Перед проигрыванием убедитесь, что ваша операционная система и браузер поддерживают соответствующий тип DRM (список совместимых с вашим браузером и ОС DRM-систем отображается на странице плеера в конце страницы).

3.3.1. Widevine + Desktop

  1. В браузере откройте https://playernow.ru.
  2. Нажмите «Выберите источник», в появившемся меню выберите пункт «Конструктор».
  3. В поле “Widevine License” вставьте адрес сервера лицензий Widevine (например https://[project].nowdrm.co/widevine)
  4. В поле “DASH” вставьте URL к mpd-файлу с запакованным видео (например https://myhost.tld/some/folder/index.mpd). HTTPS-доступ к файлу обязателен.
  5. Нажмите «Запустить тестирование», после чего в окне плеера нажмите кнопку воспроизведения.
    Несколько секунд в начале видео не кодируется DRM. Если видео было запаковано правильно, оно доиграет до конца без искажений.

В мобильных браузерах тестирование может быть проведено аналогично.

3.3.2. Playready + Desktop

  1. В браузере откройте https://playernow.ru.
  2. Нажмите «Выберите источник», в появившемся меню выберите пункт «Конструктор».
  3. В поле “Playready License” вставьте адрес сервера лицензий Playready (например https://[project].nowdrm.co/playready)
  4. В поле “DASH” вставьте URL к mpd-файлу с запакованным видео (например https://myhost.tld/some/folder/index.mpd). HTTPS-доступ к файлу обязателен.
  5. Нажмите «Запустить тестирование», после чего в окне плеера нажмите кнопку воспроизведения.
    Несколько секунд в начале видео не кодируется DRM. Если видео было запаковано правильно, оно доиграет до конца без искажений.

3.3.3. Fairplay + Desktop

  1. В браузере откройте https://playernow.ru/.
  2. Нажмите «Выберите источник», в появившемся меню выберите пункт «Конструктор».
  3. В поле “Fairplay License” вставьте адрес сервера лицензий Fairplay (например https://[project].nowdrm.co/fairplay)
  4. В поле “HLS” вставьте URL к m3u8-файлу с запакованным видео (например https://myhost.tld/some/folder/master.m3u8). HTTPS-доступ к файлу обязателен.
  5. В поле «Сертификат» вставьте URL к *.der-сертификату, необходимому для запроса к серверу лицензий. HTTPS-доступ к файлу обязателен.
    Для тестирования Вы можете воспользоваться нашим сертификатом https://playernow.ru/cdnnow.der.
  6. Нажмите «Запустить тестирование», после чего в окне плеера нажмите кнопку воспроизведения.
    Несколько секунд в начале видео не кодируется DRM. Если видео было запаковано правильно, оно доиграет до конца без искажений.

3.3.4. Wiseplay + Mobile

Вам понадобится скомпилировать и запустить на устройстве Huawei модифицированный Exoplayer https://github.com/HMS-Core/hms-wiseplay-demo-exoplayer.
При этом в файле “demos/main/src/main/assets/media.exolist.json” необходимо добавить следующий блок информации в секцию “samples”:

Несколько секунд в начале видео не кодируется DRM. Если видео было запаковано правильно, оно доиграет до конца без искажений.

4. Благодарности

Спасибо что дочитали нашу краткую инструкцию по интеграции drmnow! multi-drm!

Еще по теме:  Как подключить антенну триколор к телевизору самостоятельно

Если у Вас остались вопросы смело обращайтесь к нам. Мы обязательно поможем.

Оставьте заявку

если вас заинтересовал наш сервис или есть вопросы

  • Главная
  • Как работает DRM
  • Apple FairPlay
  • Microsoft PlayReady
  • Widevine Modular
  • WisePlay Huawei
  • DRM packager
  • Документация по интеграции drmnow! multi-drm
  • Цены
  • Контакты
  • English version

Источник: drmnow.ru

Магнитола Teyes и DRM-защита (Widevine CDN) или как смотреть зашифрованный контент

В рамках расширения мультимедийного функционала решил установить WINK на магнитолу, ТВ от Ростелекома (я их абонент). Но столкнулся с проблемой: показывало первых каналов 10, при попытке просмотра других каналов, а их у меня 270 в подписке, выдавало сообщение, что моё устройство не может воспроизводить зашифрованный контент.

Начал копать тему, оказалось, что в некоторый контент вшивают так называемую DRM-защиту, это защита от пиратства, копирования. И андроид устройство которое не имеет специального сертификата от Google (Widevine CDN) не сможет это воспроизвести. Скачать его нигде у меня не получилось, этот сертификат должен быть установлен на уровне прошивки.

Это касается не только Wink, но и Билайн ТВ и подозреваю всех официальных приложений телевидения, а может и не официальных тоже. Кстати Root тоже препятствие для просмотра защищенного контента. Можно посмотреть его наличие прямо в Wink (ещё…- Помощь — Security Level) или скачать бесплатное приложение в маркете DRM-info.
Есть три уровня защиты: L1, L2, L3.

Widevine L3 — решение полностью программное (разработка Google), не предполагает задействование Trusted Execution Environment (TEE), аппаратной среды для шифрования и не изолировано от т.н. «богатой среды исполнения» (Rich Execution Environment, REE), в которой функционируют операционная система и приложения мобильного устройства. Поэтому L3 — это самый слабый уровень шифрования, устройства, поддерживающие L3, воспроизводят защищенный контент только с низким качеством (преимущественно в разрешении 480p).

Widevine L2 — TEE предусмотрена, однако обработка видео выполняется отдельным программным обеспечением или на отдельном оборудовании. Защищенный контент воспроизводится с разрешением до 540p.

Widevine L1 — наивысший уровень защиты, на котором процессы дешифровки и обработки данных выполняются только в TEE. Устройства с поддержкой L1 защищенный видеоконтент воспроизводят с максимальным доступным разрешением.

Фото в бортжурнале Mazda CX-7

Полный размер
На моём телефоне уровень L1

Но решение для Teyes по крайней мере нашлось, на не безызвестном сайте 4pda.

Фото в бортжурнале Mazda CX-7

Решение для spro+ и cc2+

Обновление от 03.03.2022 устанавливается как прошивка, но самое приятное ничего не сбивает, как было так и останется, только добавится сертификат, правда уровня L3. Но хоть так, качество воспроизведения всё равно приемлемое.)) Единственное, оно не подходит для CC3. У меня на SPRO+ всё заработало прекрасно))

Фото в бортжурнале Mazda CX-7

Полный размер
После обновления

Фото в бортжурнале Mazda CX-7

Полный размер

Источник: www.drive2.ru

Оцените статью
Добавить комментарий