2017-09-02 46 views
0

我已經創建了一個視頻服務服務,在我的應用程序中使用hls格式的視頻和播放使用流式播放器的視頻。在iphone中管理hls本地行爲?

我面臨的問題是,在我的m3u8文件中,我有這個網址爲ts文件的第一部分。

http://****/videos/2017/9/39594b34-e06e-415b-a176-c6971fe28190/b7f1d54e-4543-4852-9fbe-75693c2bfe58-3600.ts 

這裏是的Flowplayer我的HTML配置

<div id="hlsjsvod"> 

這裏是我的Flowplayer

flowplayer("#hlsjsvod", { 
        splash: true, 
        aspectRatio: "16:9", 
        clip: { 
         // enable hlsjs in desktop Safari for manual quality selection 
         // CAVEAT: may cause decoding problems with some streams! 
         hlsjs: { 
          safari: true, 
          xhrSetup: function (xhr, url) { 
           url.replace("http","https") 
          } 
         }, 
         sources: [ 
          { 
           type: "application/x-mpegurl", 
           src: "http://****/videos/2017/8/a9b68f36-c229-47c9-850d-0af298692693/348b790b-0cc1-4817-b846-acef88f1067b-master.m3u8" 
          } 
         ] 
        } 
       }); 

Javascript配置什麼是希望能夠做的是改變HTTP的TS文件到http;

正如你可以在上面的代碼中看到的,我可以通過xhrsetup進行更改。

每件事情都很好,直到我想要訪問ios,iphones中的xhrsetup。因爲iphone使用本機hls,它不會通過我在ios中的xhrsetup代碼,我希望能夠在ios中做到這一點。

確實有任何解決方法嗎?

回答

0

這根本不可能。

的Safari在Mac OS提供了MediaSource Extension (MSE)哪些球員像hls.jsBitmovin可以使用使用Javascript玩HLS,而不是Safari瀏覽器的原生HLS播放。

iOS上的Safari does not provide the MSE。因此,有史以來HLS播放器必須使用Safari的本地HLS播放功能,而這種播放功能根本無法提供干擾請求的方式。