我们在 iPhone 6 (A1586) 上播放受 AES(使用 JWT 令牌身份验证)保护的视频时遇到问题。欠费错误如下:
0x50300000 - 视频播放因损坏问题而中止
或者因为视频使用了您的浏览器不支持的功能
禁用加密后,播放相同的视频不会出现任何问题。
问题是sample复制 Azure Media Player 团队发布的此类场景也不行并因同样的错误而失败!它可以在这里找到:https://ampdemo.azureedge.net/ https://ampdemo.azureedge.net/。该样本命名如下:
AES(JWT 代币) – 点播 [钢铁之泪预告片]
如何通过 iPhone 上的 Azure 媒体服务/播放器进行受保护的视频流?它完全支持场景吗?
以下是设置传递策略的相关代码:
deliveryPolicy = context.AssetDeliveryPolicies.Create(
DeliveryPolicyName,
AssetDeliveryPolicyType.DynamicEnvelopeEncryption,
AssetDeliveryProtocol.SmoothStreaming | AssetDeliveryProtocol.Dash | AssetDeliveryProtocol.HLS,
new Dictionary<AssetDeliveryPolicyConfigurationKey, string>
{
{ AssetDeliveryPolicyConfigurationKey.EnvelopeKeyAcquisitionUrl, contentKey.GetKeyDeliveryUrl(ContentKeyDeliveryType.BaselineHttp).ToString() }
}
);
刚刚在 Azure Media Player“已知问题”列表中找到了这个确切的场景:https://amp.azure.net/libs/amp/latest/docs/Known_Issues.html https://amp.azure.net/libs/amp/latest/docs/Known_Issues.html.
AES 和受限令牌内容无法使用 iOS 及更早版本播放
安卓设备。为了实现这个场景,必须有一个代理
添加到您的服务中。
本文描述了 Azure 团队提出的解决方法:https://azure.microsoft.com/en-us/blog/how-to-make-token-authorized-aes-encrypted-hls-stream-working-in-safari/ https://azure.microsoft.com/en-us/blog/how-to-make-token-authorized-aes-encrypted-hls-stream-working-in-safari/。我还没有亲自测试过。
UPDATE.该解决方法在进行细微更改后即可生效 - 第二级 HLS 播放列表的 URL 编码存在问题。下面是完整的 WebAPI 2 控制器代码,它对我来说很有效:http://pastebin.com/kq7Zfw88 http://pastebin.com/kq7Zfw88.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)