我想为基于Flash的媒体播放器添加跟踪功能,以便我们可以提供分析,以显示正在观看的视频部分(目前,我们只是在视频开始播放时注册视图)
例如,如果观看者观看视频的前30秒然后点击其他内容,我们希望数据反映出来。
同样,如果有人观看了前10秒,那么将时间线擦洗到视频的最后一分钟并观察,我们想要观看观看的部分而不是中间部分。
我的第一个想法是收集播放器中的观看数据,并在观看会话结束时将其全部发送到服务器。不幸的是,当观众点击电影所在的页面时,Flash似乎没有一个可以挂钩的事件(可能是一件好事 - 它会被滥用)
因此,看起来我们将不得不在播放视频时向服务器发出常规请求。当有大量同时观看者时,这显然会导致大量请求。
将所有这些“心跳”事件从客户端转储到数据库的简单方法感觉很快就会变得无法管理,所以我想知道我是否应该采用一种方法,将查看会话缓存在内存中并刷新到数据库时它们变为非活动状态(基于超时)。这样,数据可以存储为时间跨度而不是单独的心跳。
那么,对于这个问题 - 处理这种高容量观看数据的最佳方法是什么?有没有好的现有架构/模式?
谢谢,
丹
答案 0 :(得分:0)
您可以使用javascript'onbeforeunload'挂钩来捕获页面出口。您还可以将其与一些flash / js交互相结合,以聚合所有数据并一次性发送。
答案 1 :(得分:0)
您使用Flash Media Server进行流式传输吗?如果是,服务器可以为您做所有这些事情。