用户在观看视频时,怎样实时统计其观看实际时长,观看过程中,拖动并不计算。
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
视频播放器中做手脚,指定播放多长时间,再一起发送到服务器,由服务器再统计。播放器本地可以在播放视频时不断的实时统计时长,定时和服务器通信发送时长就行,这些可以随意找个视频网站大概截包观察下就可以看出来。
目前我能想到的办法:1、使用javascript的setTimeout函数,每当播放器开始播放时,启动,播放器暂停、停止时,停止计时器,这样即使用户拖动视频,也不会误计2、使用session或redis在后端计时,每当播放器开始播放时,发起一个请求,暂停、停止时,再发起一个请求,两次请求之间的时间间隔即可以算作观看时长
以上两种办法似乎都不好用,前者不够安全,容易被伪造,后者对系统压力会比较大,当然还有一些其它问题。
视频播放器中做手脚,指定播放多长时间,再一起发送到服务器,由服务器再统计。播放器本地可以在播放视频时不断的实时统计时长,定时和服务器通信发送时长就行,这些可以随意找个视频网站大概截包观察下就可以看出来。
目前我能想到的办法:
1、使用javascript的setTimeout函数,每当播放器开始播放时,启动,播放器暂停、停止时,停止计时器,这样即使用户拖动视频,也不会误计
2、使用session或redis在后端计时,每当播放器开始播放时,发起一个请求,暂停、停止时,再发起一个请求,两次请求之间的时间间隔即可以算作观看时长
以上两种办法似乎都不好用,前者不够安全,容易被伪造,后者对系统压力会比较大,当然还有一些其它问题。