统计视频观看时长的相关方式说明

不少教育类场景都有统计观众的视频观看时长的需求,以此来判断是否完成了课程,能否触发下一步动作(比如观看下一阶段的课程),或者单纯统计并在前台显示观众的观看时长以及观看视频数量。

整体来看统计观看时长有两种方案,一种是通过服务端API来获取统计数据,另一种是借助前端播放器提供的接口,业务方自己统计,两种方案的优劣及适用场景见下表:

统计方式 前端统计 服务端API获取
时效性 实时 非实时。由于服务端需要处理整个平台的播放数据,所以会有一定延时。
数据准确性 准确 有轻微误差。因网络、链路等影响,前端上报的播放数据有可能会发送失败,所以服务端返回的观看时长不能保证绝对准确。
开发成本 较高,业务方需借助播放器的相关接口,自行在前端计算观看时长等数据并上报业务后台。 低,只需调用对应的API来获取统计结果。
适用场景 对统计实时性要求高的业务场景 对统计实时性要求不高的业务场景

前端统计方式介绍

Web播放器(包括PC H5、Flash、移动端H5播放器)

在Web页面播放视频时,可借助播放器提供的相关接口、事件并结合自身业务规则来统计所需的数据,并上报自己的业务系统。

接口:

  • j2s_getCurrentTime() //获取当前播放的时间点,比如视频播放到第20s时返回:20。
  • j2s_realPlayVideoTime() //获取正片播放时间,不包括广告、片头、暂停、片尾等时间,视频播放过程中该值会累加。

事件:

  • s2j_onPlayStart // 播放器成功加载视频文件并缓冲完成后,即将开始播放时触发。
  • s2j_onPlayOver // 播放结束后触发。

其它的播放器属性、接口和事件详见播放器事件汇总播放器函数汇总

注:j2s_realPlayVideoTime获取的是播放的自然时间时长,比如当使用2倍速播放到视频的第60s时:
player.j2s_getCurrentTime() = 60
player.j2s_realPlayVideoTime() = 30

移动端SDK(Android SDK、iOS SDK)

在APP中播放视频时,可使用保利威点播SDK提供的相关接口、事件并结合自身业务规则来统计所需的数据,并上报自己的业务系统。

iOS SDK:

  • @property (nonatomic, assign, readonly) NSTimeInterval viewerWatchDuration // 用户观看时间,假如用2倍速播放到视频的第60s,该方法返回30。
  • @property (nonatomic, assign, readonly) NSTimeInterval videoContentPlayedTime //视频内容播放的时间,假如用2倍速播放到视频的第60s,该方法返回60。

Android SDK:

  • getWatchTimeDuration() // 用户观看时间,假如用2倍速播放到视频的第60s,该方法返回30。
  • getVideoContentPlayedTime() // 视频内容播放时间,假如用2倍速播放到视频的第60s,该方法返回60。

SDK也都有播放开始、完成、出错等事件回调,其它的播放器属性、接口和事件详见Github文档:iOS,Android

服务端API获取方式介绍

通过观看日志:

通过视频完成度接口:

接口文档:获取视频观看完成度接口

该接口可查看某一观众累计观看某一视频的完成度情况。无论观众使用哪种终端、分多少次观看,接口返回的是最终的汇总的完成度。

比如,视频A时长为50分钟,观众使用PC H5观看了第0~20分钟,使用手机H5观看了第10~30分钟,又使用APP观看了第40~50分钟,累计观看时长为20+20+10=50分钟,但观看的视频内容是 0~30 和 40~50 的部分。虽然累计观看时长与视频时长相同,但完成度为 (30+10)/50=80%。而用前端统计的方式,只能统计当次观看的时长,即使通过业务后台汇总累加了每次的时长,也只能通过对比观看时长和视频时长来判断是否完成了观看,上述例子中观看时长与视频时长相同,但实际完成度是80%。

通过视频高级分析来统计:

功能说明文档:高级分析功能说明

接口文档:高级分析-分页查询观看行为列表

注:
- 通过观看日志接口获取的数据在正常情况下的延时为10分钟。
- 后台导出excel表中的开始时间,是数据存储的时间,并不等同于视频开始播放的时间。
- 视频观看完成度在服务端每隔1小时计算一次,也就是有最大1小时的延迟。
- 高级分析每天统计一次,也就是有最大24小时的延迟。
- 完成度接口和高级分析中的完成度是基于视频正常速度来计算的,假如用2倍速完整观看一个视频,完成度会计算为50%。

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...