flash 分段 加载 太大_JWPlayer Flash播放器分段载入视频以节省带宽的方法分享

近期由于一个项目的需要,对Flash版本的播放器JWPlayer做了一些改进以支持一些功能,这里把中间用到的一些思路和做法记录下。

首先一个功能是:客户的很多flv视频都是完整的一个大视频,希望JWPlayer可以对flv视频文件播放时不全部载入,而是先只载入前面5分钟,等播放到4分钟左右时再去载入后面的5分钟视频。这样的好处显而易见就是可以节省很多服务器流量,避免用户只看2-3分钟暂停在那,也把整个视频给分发下去。 其实该功能很多视频网站,比如优酷他们的做法是将视频真的切分为每7分钟一段,这样的缺点是:文件被切分成碎片在服务器存放,不利于视频文件的管理。

为了实现上述功能,在JWPlayer中进行如下改造:

1) 增加一个NetStream,用于载入下一段数据;

2)服务器需要支持可以通过start和end参数,来索取任意一段视频。比如http://www.a.com/1.flv?start=0&end=1024999这种,用于获取指定关键帧区间的视频(比如5分钟的)。

3)然后播放时,首先通过获取到的metadata,找出第一个5分钟的视频的结尾关键帧位置,然后构造一个NetStream去播放前面5分钟,由于服务器就只给5分钟数据,因此该stream不会不停缓冲服务器数据。

4)等播放到4:20秒左右时,启动一个新的NetStream载入下一段5分钟视频,但此时将video层放在正在播放的视频的下面(不可见)。

5)等第一段视频播放完成后,将第二段的NetStream接着播放,并切换两个video的位置,将第二段放到舞台的前面。

6)等第二段播放快完成时,用第一段的NetStream预载入下一段视频,不停重复上述逻辑直到视频结束。

经过上述处理后,可以非常可控的以分段的效果播放单段视频,既节省了服务器流量,又不需要对视频真正进行切分。关于JWPlayer Flash播放器分段载入视频以节省带宽的方法分享,希望对大家有帮助!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值