【发布时间】:2018-07-16 15:52:17
【问题描述】:
目前,我很难将 AAD 与 Azure 媒体服务集成。 我必须从 AAD 获取不记名令牌,然后将该令牌传递给 Azure 媒体播放器以播放加密视频,但我总是收到以下错误:无法解密加密的视频源。 (0x20500004)。
这是我正在使用的代码的两个 sn-ps。 C#代码:
string tenant = "xxxxxxxxxcom.onmicrosoft.com";
string clientId = "xxxxxxxx-xxxx-xxx-xxxx-xxxxxxxxxxx";
string clientSecret = "xxxXXXXXXXXXXXXXXXXXXXXXXXxxxx=";
var tokenCredentials = new AzureAdTokenCredentials(tenant, new AzureAdClientSymmetricKey(clientId, clientSecret), AzureEnvironments.AzureCloudEnvironment);
var tokenProvider = new AzureAdTokenProvider(tokenCredentials);
var token = tokenProvider.GetAccessToken();
C# Code Integration With Azure AAD
“Microsoft.WindowsAzure.MediaServices.Client”版本为 4.1
Asp.net/JavaScript 代码:
<script>
var playerOptions = {
"nativeControlsForTouch": false,
controls: true,
autoplay: true,
width: "100%",
height: "auto",
techOrder: ["azureHtml5JS", "flashSS", "html5FairPlayHLS", "silverlightSS", "html5"],
logo: {
enabled: true
},
poster: "https://xxxxxxxxxx.blob.core.windows.net/assetxxxxxxxx-xxxx-410d-xxxx-7xxxxxxxxxxxx/xxxxx11563.jpg?sv=2015-07-08&sr=c&si=xxxxxx-xxxx-xxxxxxx-xxxxxx&sig=xxxxxxxxxxxxxxxb%2F%2FTlyHLU6DTcf%2FdfWMaMSqw%3D&se=2078-06-12T16%3A08%3A03Z",
plugins: {
ga: {
'eventsToTrack': ['playerConfig', 'loaded', 'playTime', 'percentsPlayed', 'start', 'end', 'play', 'pause', 'error', 'buffering', 'fullscreen', 'seek', 'bitrate'],
'debug': false
}
}
};
var playerSrc = [{
src: "http://xxxxxxxxx.streaming.mediaservices.windows.net/xxxxxx-xxx-xxxx-xxx-xxxx/xxxxxx.ism/manifest" + "(format=m3u8-aapl)",
"type": "application/vnd.ms-sstr+xml",
"protectionInfo": [{
"type": "AES",
"authenticationToken": "Bearer @ViewBag.Token"
}],
"streamingFormats":["SMOOTH","DASH"]
}];
</script>
Azure 播放器的链接是:https://ampdemo.azureedge.net/azuremediaplayer.html
【问题讨论】:
-
请将您的代码放入您的问题中,而不是作为链接。
-
@JeroenHeier,完成!
标签: c# azure azure-active-directory azure-media-services