Воспроизведение DASH для зашифрованных видеофайлов .webm в Shaka Player

Я без особого успеха пытался воспроизвести зашифрованные медиафайлы .WEBM в ShakaPlayer, и я здесь, чтобы получить совет от всех, кто прошел через это. Было бы здорово, если бы кто-нибудь из этого замечательного сообщества разработчиков мог направить меня сюда.

Раунд 1 - Что я пробовал (закодировано и штриховано):

  • Закодированный файл .MP4 в многопоточные видеофайлы .WEBM (VP9) и однопоточные аудиофайлы .WEBM (Vorbis) с использованием FFMPEG.
  • Создан файл DASH MANIFEST.MPD с помощью WEBM_TOOLS / WEBM_DASH_MANIFEST

Результат. Я могу без проблем играть в это в Shaka Player.

Раунд 2 - что я пробовал (закодированный, зашифрованный и пунктирный):

  • Закодированный файл .MP4 в многопоточные видеофайлы .WEBM (VP9) и однопоточные аудиофайлы .WEBM (Vorbis) с использованием FFMPEG.

  • Зашифрованные сгенерированные файлы .WEBM с помощью WEBM_TOOLS / WEBM_CRYPT

  • Создан файл DASH MANIFEST.MPD с помощью WEBM_TOOLS / WEBM_DASH_MANIFEST

Результат: Я не знаю, как воспроизвести этот контент в Shaka Player. Где и как мне предоставить Shaka Player файл .key, созданный на шаге 2 выше. Я хотел бы использовать Clearkeys с CENC в браузере. Я не хочу кодировать в многопотоковый .MP4, а только в .WEBM.

Огромное спасибо!


person Prabhdeep Singh    schedule 06.03.2017    source источник


Ответы (1)


Если вы просто хотите протестировать контент, вы можете настроить ключи очистки непосредственно в самом плеере Shaka. Из их документации на https://github.com/google/shaka-player/blob/master/docs/tutorials/drm-config.md:

player.configure({
  drm: {
    clearKeys: {
      'deadbeefdeadbeefdeadbeefdeadbeef': '18675309186753091867530918675309',
      '02030507011013017019023029031037': '03050701302303204201080425098033'
    }
  }
});

Если вы хотите, чтобы игрок запрашивал ключи с сервера ключей, что похоже на типичное взаимодействие с DRM, тогда вам понадобится сервер лицензий (сервер ключей), с которого вы запрашиваете ключ. Вам действительно не нужно этого делать, если все, что вы хотите, убедитесь, что вы правильно упаковываете и шифруете контент - локальная конфигурация clearkey выше, вероятно, вам подойдет.

person Mick    schedule 07.03.2017
comment
Привет, Мик, спасибо за ответ! Я использовал webm_crypt (github.com/webmproject/webm-tools/tree/master / webm_crypt) для шифрования файлов .webm и при этом генерирует файл .key (как указано здесь wiki.webmproject.org/zz-obsolete/). Если мне нужно использовать вышеупомянутые ключи ClearKeys, как мне следует шифровать свои файлы .webm? Добрый совет - person Prabhdeep Singh; 08.03.2017
comment
Эти инструкции немного устарели, но, к сожалению, более новой версии нет. Можете ли вы включить пример файла ключей, который вы создаете (а не тот, который вы на самом деле используете!), Чтобы мы могли быстро взглянуть и помочь сопоставить его с конфигурацией Shaka DRM? - person Mick; 08.03.2017
comment
Привет, Мик! Большое спасибо за ответ! Я создал файл enc.key со следующей строкой: mykey=mykeyvalue. Затем я зашифровал файл encode webm с помощью этой команды: webm_crypt -i video_640x360_750k.webm -o video_640x360_750k_encrypted.webm -video_options base_file=enc.key Мне почему-то кажется, что мне не следует использовать webm_tools / web_crypt, а вместо этого следует использовать shaka-packager. Я бы попытался использовать и это. - person Prabhdeep Singh; 09.03.2017