ckplayer插件播放m3u8视频

var flashvars = {
f: 'ckplayer/m3u8.swf', //使用swf向播放器发送视频地址进行播放
a: 'video/m.m3u8', //m3u8文件
c: 0, //调用 ckplayer.js 配置播放器
p: 1, //自动播放视频
s: 4, //flash插件形式发送视频流地址给播放器进行播放
lv: 0, //注意,如果是直播,需设置lv:1 loaded: 'loadedHandler'
}

例如:我们得到了一个外部m3u8链接1
http://pl.youku.com/playlist/m3u8?ts=1422522760&keyframe=0&vid=XODc1NzMyNTA0&type=mp4&ep=cSaWGEyPVc4F4CDYgT8bNS60ciNbXJZ1gkyE%2F5gfScVAOejQmjbUxQ%3D%3D&sid=342252305537912b2f6dd&token=3852&ctype=12&ev=1&oip=3663591661

这个链接中有一部分被进行了URI编码

首先,我们要用 decodeURIComponent() 方法对其解码,得到如下链接2
http://pl.youku.com/playlist/m3u8?ts=1422522760&keyframe=0&vid=XODc1NzMyNTA0&type=mp4&ep=cSaWGEyPVc4F4CDYgT8bNS60ciNbXJZ1gkyE/5gfScVAOejQmjbUxQ==&sid=342252305537912b2f6dd&token=3852&ctype=12&ev=1&oip=3663591661

然后,再用 encodeURIComponent() 方法对上面的链接进行 URI 编码,得到如下链接3
http%3A%2F%2Fpl.youku.com%2Fplaylist%2Fm3u8%3Fts%3D1422522760%26keyframe%3D0%26vid%3DXODc1NzMyNTA0%26type%3Dmp4%26ep%3DcSaWGEyPVc4F4CDYgT8bNS60ciNbXJZ1gkyE%2F5gfScVAOejQmjbUxQ%3D%3D%26sid%3D342252305537912b2f6dd%26token%3D3852%26ctype%3D12%26ev%3D1%26oip%3D3663591661
上面的链接就可以用在 ckplayer 的代码里了。

这里需要注意的是,不能直接对链接1进行URI编码,必须先解码再编码。

因为最开始得到的链接可能是部分变编码了的,如果对这种链接直接编码,得到的链接,和先解码再编码得到的链接是不一样的。

例如,我们直接对链接1编码,得到的链接4:
http%3A%2F%2Fpl.youku.com%2Fplaylist%2Fm3u8%3Fts%3D1422522760%26keyframe%3D0%26vid%3DXODc1NzMyNTA0%26type%3Dmp4%26ep%3DcSaWGEyPVc4F4CDYgT8bNS60ciNbXJZ1gkyE%252F5gfScVAOejQmjbUxQ%253D%253D%26sid%3D342252305537912b2f6dd%26token%3D3852%26ctype%3D12%26ev%3D1%26oip%3D3663591661

对比一下,链接4和链接3是不一样的。

 

觉得好的话记得打赏赞助小灰灰哦,小灰灰灰更有动力的,谢谢

小灰灰

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:1   其中:访客  1   博主  0

    • avatar QQ游客 0