更新时间:2021-01-22 13:34:55
视频网站在提供流媒体点播服务时,针对付费影片一般都会提供试播功能,让用户观看前几分钟的视频内容,以吸引用户付费观看剩余部分。
为配合视频网站培养用户付费观看的习惯,增加视频网站的营收,网宿结合自身的技术优势,推出了影片试播功能,通过只响应试播时间内的视频数据给用户,达到限制用户观看时长的目的。
用户点击视频网站的付费影片链接时,一般会向客户服务器请求该付费影片的URL信息,同时把用户信息比如账号信息等上传给客户服务器,客户服务器查询该账号信息是否开通会员,如果已经开通,客户服务器就直接响应用户可完整播放的URL信息,如果没有开通,则响应携带有试播参数的URL信息。
CDN节点收到用户请求时,会从用户请求的URL中提取试播参数,识别出该URL对应的视频文件被允许播放的时长,然后只响应被允许播放的这部分视频内容。
2.1.1 影片试播(针对FLV、MP4、TS格式)
通过用户请求URL中携带的试播参数,CDN节点可以获取该URL对应的视频文件被允许播放的时长,然后计算出对应的数据,最后只响应被允许播放的这部分数据。
URL示例:
http://www.example.com/A/123.flv?time=XXX&Key=8ad5cb9c940&arange=300
其中:arange为试播参数,表示视频被允许播放的时长,单位为秒,参数名称可自定义。
2.1.2 影片试播(针对HLS协议)
通过用户请求m3u8文件的URL中携带的试播参数,CDN节点可以获取该URL对应的视频文件被允许播放的时长,然后修改m3u8文件,只响应用户试播时长对应的ts文件信息。
URL示例:
http://www.example.com/A/123.m3u8?time=XXX&Key=8ad5cb9c940&arange=300
其中:arange为试播参数,表示视频被允许播放的时长,单位为秒,参数名称可自定义。
(1) 用户向客户服务器请求视频URL信息;
(2) 客户服务器响应用户视频URL信息;
(3) 用户获取到视频URL信息后,向CDN节点发起视频文件请求;
(4) 若无缓存,CDN节点向视频源站发起视频文件请求;
(5) 视频源站响应CDN节点的视频文件请求;
(6) CDN节点根据请求URL中携带的试播参数,提取视频允许播放时长信息,计算出对应的字节偏移量,只响应试播部分的视频数据给用户。
适用于只允许用户观看一定时长视频内容的应用场景,如针对付费视频,允许非会员用户观看一定时长的视频内容,以吸引用户付费观看剩余部分。