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