Eug*_*kov 5 c# iphone encryption azure azure-media-services
我们在 iPhone 6 (A1586) 上播放受 AES(使用 JWT 令牌身份验证)保护的视频时遇到问题。欠费错误如下:
\n\n\n\n\n0x50300000 - 视频播放因损坏问题而中止\n或因为视频使用了您的浏览器不支持的功能
\n
当禁用加密时,播放相同的视频不会出现任何问题。
\n\n问题是,Azure Media Player 团队发布的复制此类场景的示例也不起作用,并且失败并出现完全相同的错误!此处提供: https: //ampdemo.azureedge.net/。该样本命名如下:
\n\n\n\n\nAES(JWT 令牌)\xe2\x80\x93 点播 [钢铁之泪预告片]
\n
如何通过 iPhone 上的 Azure 媒体服务/播放器进行受保护的视频流?它完全支持场景吗?
\n\n以下是设置传递策略的相关代码:
\n\n deliveryPolicy = context.AssetDeliveryPolicies.Create(\n DeliveryPolicyName,\n AssetDeliveryPolicyType.DynamicEnvelopeEncryption,\n AssetDeliveryProtocol.SmoothStreaming | AssetDeliveryProtocol.Dash | AssetDeliveryProtocol.HLS,\n new Dictionary<AssetDeliveryPolicyConfigurationKey, string>\n {\n { AssetDeliveryPolicyConfigurationKey.EnvelopeKeyAcquisitionUrl, contentKey.GetKeyDeliveryUrl(ContentKeyDeliveryType.BaselineHttp).ToString() }\n }\n );\n
Run Code Online (Sandbox Code Playgroud)\n
刚刚在 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-在野生动物园/ . 我还没有亲自测试过。
更新。该解决方法在进行细微更改后即可生效 - 第二级 HLS 播放列表的 URL 编码存在问题。这是完整的 WebAPI 2 控制器代码,对我来说很有效: http: //pastebin.com/kq7Zfw88。