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 文件改成 “m.m3u8" 这种格式,再将 a 设置成 video/m.m3u8 ,才能播放视频,今天却播放不了了,而且不断报错,如下图:



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

然后,我将 m.m3u8 格式改回成 m3u8,再将a设置成video/m3u8,视频反而可以播放了。浏览器控制台显示如下图:





无语了,下午,m.m3u8格式又可以播放视频了……



var flashvars = {
	f: 'ckplayer/m3u8.swf', 		//使用swf向播放器发送视频地址进行播放
	a: encodeURIComponent(decodeURIComponent('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')),	//m3u8文件
	c: 0,		//调用 ckplayer.js 配置播放器
	p: 1,		//自动播放视频
	s: 4,		//flash插件形式发送视频流地址给播放器进行播放
	lv: 0,		//注意,如果是直播,需设置lv:1
	loaded: 'loadedHandler'
}
刚刚解决了外部链接播放m3u8视频的问题。

例如:我们得到了一个外部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是不一样的,encodeURIComponent() 对  百分号%  再次进行了编码。



我已经很久没接触这方面的内容了,相关的知识点早已忘记,所以各位的问题都回答不了了。2016-12-14

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
### 回答1: 为了播放 m3u8 视频,你需要有一个支持 m3u8 格式的视频播放器。常用的视频播放器有 VLC、Potplayer 等。 你需要在这些视频播放器中打开 m3u8 文件,即可播放视频。 你也可以使用网络播放器,比如 HLS.js,来在网页中播放 m3u8 视频。 需要注意的是,有些 m3u8 视频可能需要代理才能访问,因此你可能需要设置代理服务器。 ### 回答2: 播放m3u8视频主要有两种方法:通过浏览器播放和通过专门的m3u8播放播放。 通过浏览器播放m3u8视频,首先需要确保您的浏览器支持HLS协议。打开浏览器,输入m3u8视频的URL地址,浏览器会自动识别并加载该视频。如果浏览器不支持HLS协议,您可以安装插件或升级浏览器版本。通过浏览器播放m3u8视频的优点是方便简单,无需安装额外的软件。 通过专门的m3u8播放播放m3u8视频,需要先下载并安装合适的m3u8播放器。常见的m3u8播放器有VLC媒体播放器、PotPlayer、MPC-HC等。打开m3u8播放器,点击播放器的“打开文件”或“打开URL”选项,将m3u8视频的URL地址粘贴进去并确认,即可开始播放视频。通过专门的m3u8播放播放m3u8视频的优点是支持更多的格式和功能,播放效果更好。 无论是使用浏览器还是专门的m3u8播放播放m3u8视频,要确保网络连接稳定,视频源可用,避免卡顿和中断。此外,对于某些下载加密的m3u8视频,可能需要提供相应的授权证书或密钥才能正常播放。 ### 回答3: 要播放m3u8视频,你可以按照以下步骤进行操作。 首先,你需要确保你的设备上已经安装了支持m3u8格式的视频播放器。市面上有许多播放器可以播放m3u8视频,例如VLC媒体播放器和PotPlayer等。你可以在应用商店或者官方网站上下载并安装这些播放器。 安装好播放器后,你可以打开一个浏览器,使用搜索引擎搜索你想观看的m3u8视频地址。通常,你可以在视频网站上找到这个地址,如YouTube、豆瓣等。拷贝这个地址。 接下来,你可以打开已安装的播放器,点击播放器界面上的“打开”按钮。在弹出的文件选择窗口中,将之前拷贝的m3u8视频地址粘贴进去,然后点击“确定”或“打开”。 播放器会自动解析m3u8视频地址,加载视频资源。加载完成后,你就可以在播放器界面上看到视频的缩略图和控制按钮。点击播放按钮,就可以开始播放m3u8视频了。 如果你想调整视频的清晰度或其他参数,可以查看播放器界面上的菜单选项或设置按钮。不同的播放器可能具有不同的调整选项,请根据自己的需要进行设置。 总的来说,播放m3u8视频并不困难,只需要使用支持m3u8格式的播放器,并将视频地址粘贴进去即可。希望以上的回答能够帮助到你。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值