2017-04-04 1 views
0

휴대 기기에서만 사용해야하는 웹 앱에서 Azure Media Player를 사용하여 O365 동영상을 스트리밍하고 있습니다. 그것은 WP와 안드로이드와 함께 작동하지만, 플레이어는 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 기술과 함께 작동한다고 설명하기 때문에 토큰을 요청하지 않습니다. 어떻게 해결할 수 있습니까? 감사합니다.

답변

0

iOS 기기에서 동영상을 재생산하는 방법을 찾았습니다. REST API를 사용하는 대신 내 페이지에 비디오가 포함 된 iframe 요소를 삽입했습니다. 이와 같이 (MVC 면도기 사용) :

var url = "{YourWebsiteUrl}/portals/hub/_layouts/15/VideoEmbedHost.aspx?chId={YourChannelId}&vId={YourVideoId}&width=853&height=480&autoPlay=false&showInfo=false"; 

<iframe width=853 height=480 id="videoframe" src="@url" allowfullscreen data-spresponsive style='position: absolute; top: 0; left: 0; right: 0; bottom: 0; height: 100%; max-width: 100%;'></iframe> 

나는 마이크로 소프트 오피스 365 비디오의 비디오 페이지에서 "삽입"메뉴의 팝업에서이 코드를 얻을.

누군가 다른 사람이 다른 (더 나은) 방법을 알고 있다면 알려 주시기 바랍니다. 감사합니다.