Плавная потоковая передача с лицензией PlayReady на Chromecast

Используя последнюю версию Google ChromeCast SDK, я могу воспроизводить незашифрованные активы SmoothStreaming через chromecast с MediaLibrary и путем передачи URL-адреса манифеста. Однако я не могу заставить работать зашифрованные файлы. Я попытался установить поле licenseUrl в объекте хоста, создать объект с URL-адресом лицензии и вызвать updateLicenseRequestInfo с URL-адресом лицензии.

Активы, с которыми я тестирую:

Рабочий незашифрованный манифест: http://playready.directtaps.net/smoothstreaming/ISMAAACLC/Taxi3_AACLC.ism/Manifest

Манифест PlayReady: playready.directtaps.net/smoothstreaming/ISMAAACLCPR/Taxi3_AACLC.ism/URL лицензии на манифест: http://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=1&UseSimpleNonPersistentLicense=1

В Silverlight у меня есть возможность перегрузить onAcquireLicense с помощью приобретателя лицензий вручную. Это позволяет мне получить строку запроса, передать ее пользовательской службе лицензирования, которую я создал, сгенерировать лицензию и передать ее обратно через метод processLicense. Поддерживается ли такая настраиваемая схема лицензирования в Chromecast?


person Tyler Lund    schedule 13.02.2014    source источник


Ответы (1)


Я тестировал тот же URL, и он отлично работает.

Изменили ли вы поддерживаемые расширения с «.ism» на «.ism/Manifest»? Это единственное изменение, которое я сделал для тестирования потоков SmoothStreaming/PlayReady, и все работает как часы.

person Angel Custodio    schedule 13.02.2014
comment
Вы тестируете с лицензией? Как вы устанавливаете URL-адрес лицензии? - person Tyler Lund; 13.02.2014
comment
Это просто работает, вам нужно только установить протокол SmoothStreaming для URL-адреса манифеста и все. Лицензия должна быть объявлена ​​внутри манифеста, чтобы он анализировал XML и автоматически получал ключи. - person Angel Custodio; 13.02.2014
comment
В моем случае это не вариант, поскольку URL-адрес не является статическим. Он включает информацию о вызове и некоторые параметры, поэтому его необходимо указать во время выполнения. - person Tyler Lund; 13.02.2014
comment
О, я вижу. У меня была та же проблема, и, насколько мне известно, URL-адрес не может содержать никаких параметров, он не будет работать из-за того, как MediaLibrary обрабатывает/анализирует данные. Вы можете попробовать передавать параметры через заголовки в запросах. - person Angel Custodio; 14.02.2014
comment
Здесь: проверьте раздел «Хост»: developers.google.com/cast/docs/player. Там вы можете увидеть, как отправлять параметры в заголовках и затем получать их на сервер. Я думаю, что это единственный способ сделать это прямо сейчас, но, возможно, какой-нибудь инженер Google может помочь нам с этим (скрестим пальцы) - person Angel Custodio; 14.02.2014
comment
Даже тогда не повезло. Я удалил параметры запроса, которые являются необязательными, и все еще получаю фатальную ошибку 2 в приемнике после того, как он регистрирует keyNeeded и создает сеанс. Я устанавливаю URL-адрес с помощью updateLicenseRequestInfo так же, как в примере. - person Tyler Lund; 14.02.2014
comment
Используете ли вы образцы без каких-либо изменений? - person Angel Custodio; 17.02.2014
comment
да. Только модификация указана выше. - person Tyler Lund; 18.02.2014
comment
Позвольте мне взглянуть на это, и я поделюсь с вами кодом;) - person Angel Custodio; 19.02.2014