モバイルデバイスでのみ使用する必要のあるWebアプリケーションで、Azure Media Playerを使用してO365ビデオをストリーミングしています。それはWPとAndroidで動作しますが、プレイヤーはiOSで立ち往生します。iOSデバイスのAzure Media Player
これは、私は問題はビデオのエンコードに関連していると思います
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + bearer);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var response = await client.GetAsync($"{url}/GetPlaybackUrl('1')");
var content = await response.Content.ReadAsStringAsync();
var firstVal = JsonConvert.DeserializeObject<VideoToken>(content);
response = await client.GetAsync($"{url}/GetStreamingKeyAccessToken");
content = await response.Content.ReadAsStringAsync();
var secondVal = JsonConvert.DeserializeObject<VideoToken>(content);
クライアント側
<video id="newsVideoAMP" class="azuremediaplayer amp-default-skin amp-big-play-centered" tabindex="0"></video>
var initVideoPlayer = function (playbackUrl, streamingKeyAccessToken) {
try {
var myOptions = {
"nativeControlsForTouch": false,
controls: true,
autoplay: false,
techOrder: ["azureHtml5JS", "flashSS", "html5FairPlayHLS", "silverlightSS", "html5"],
logo: { enabled: false }
}
newsVideoPlayer = amp("newsVideoAMP", myOptions,
function() {
this.addEventListener(amp.eventName.error, function() {
window.alert('error');
console.log('Error: amp init');
var errorDetails = newsVideoPlayer.error();
window.alert(errorDetails);
var code = errorDetails.code;
var message = errorDetails.message;
$("#log").append("<li><span>code: " + code + " - detail: " + message + "</span></li>')");
});
});
newsVideoPlayer.src([
{
"src": playbackUrl,
"type": "application/vnd.ms-sstr+xml",
"protectionInfo": [
{
"type": "AES",
"authenticationToken": streamingKeyAccessToken
}
]
}]);
}
catch (err) {
console.log(err);
}
}
私のコードです。だから私はGetPlaybackUrl('0')
を使用しようとしました(そして次のトークン要求を避ける)が、WPとAndroidで作業するのをやめ、まだiOSでは動作しません。
コールバック関数のロガーは私にいくつかの有用なことを教えてくれず、テクニカルオーダーを変更しようとしました。
AESアルゴリズムと復号化トークンを避けるためにビデオエンコードを管理するコンソールはありますか? this docは、iOSがHTML5技術で動作するため、トークンを要求しないと説明しています。どうすれば解決できますか?ありがとう