2016-11-09 2 views
1

У нас возникают проблемы с защитой с AES (с аутентификацией токена JWT) на iPhone 6 (A1586). Следующие недоимки ошибка:Azure Media Player не работает с защитой AES на iPhone.

0x50300000 - Воспроизведение видео было прервано из-за проблемы коррупции или потому, что видео используется особенности ваш браузер не поддерживает

Сама же видео играет без каких-либо проблем когда шифрование отключено.

Дело в том, что образец, распространяющийся такой сценарий, опубликованный командой Azure Media Player не работает либо и не с той же ошибкой! Он доступен здесь: https://ampdemo.azureedge.net/. Этот образец назван следующим образом:

AES (JWT маркер) - On Demand [Слеза Steel Teaser]

Как я защищенный потоковое видео с помощью Azure Media Services/игрок на iPhone? Поддерживается ли вообще сценарий?

Вот соответствующий код, который устанавливает политику доставки:

deliveryPolicy = context.AssetDeliveryPolicies.Create(
     DeliveryPolicyName, 
     AssetDeliveryPolicyType.DynamicEnvelopeEncryption, 
     AssetDeliveryProtocol.SmoothStreaming | AssetDeliveryProtocol.Dash | AssetDeliveryProtocol.HLS, 
     new Dictionary<AssetDeliveryPolicyConfigurationKey, string> 
     { 
      { AssetDeliveryPolicyConfigurationKey.EnvelopeKeyAcquisitionUrl, contentKey.GetKeyDeliveryUrl(ContentKeyDeliveryType.BaselineHttp).ToString() } 
     } 
    ); 

ответ

3

Просто нашел точный сценарий в списке Azure Media Player «Известные проблемы»: https://amp.azure.net/libs/amp/latest/docs/Known_Issues.html.

AES и содержимое ограниченного токена не воспроизводятся с использованием iOS и старше Android-устройства. Чтобы достичь этого сценария, прокси-сервер должен быть добавлен к вашей службе .

Это обходное решение, которое предлагает команда Azure, описано в этой статье: https://azure.microsoft.com/en-us/blog/how-to-make-token-authorized-aes-encrypted-hls-stream-working-in-safari/. Я лично его не тестировал.

workaround

UPDATE. Обходной путь работает после незначительных изменений - возникла проблема с кодировкой URL для плейлиста второго уровня HLS. Вот полный код контроллера WebAPI 2, который делает трюк для меня: http://pastebin.com/kq7Zfw88.

Смежные вопросы