在iphone中管理hls本地行为?
问题描述:
我已经创建了一个视频服务服务,在我的应用程序中使用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中做到这一点。
确实有任何解决方法吗?
答
这根本不可能。
的Safari在Mac OS提供了MediaSource Extension (MSE)哪些球员像hls.js或Bitmovin可以使用使用Javascript玩HLS,而不是Safari浏览器的原生HLS播放。
iOS上的Safari does not provide the MSE。因此,有史以来HLS播放器必须使用Safari的本地HLS播放功能,而这种播放功能根本无法提供干扰请求的方式。