Rails如何跟踪用户在视频流上的行为,并保存到数据库中
Rails how to track user behaviour on video streaming, and save to database
我还是rails的新手,我正在努力建立一个网站,可以记录用户在网站上观看任何视频的时间。例如,在用户1观看视频B后,我想知道用户观看视频B的时间,而不是他流式传输视频的时间(只计算他观看的部分),然后将数据发送回服务器,这样我就可以有一个如下表:
用户1观看视频B 15分钟
nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp;10分钟的视频C
用户2观看视频E 2分钟
nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp;视频C持续5分钟
如何计算用户在观看上花费的总时间?我知道有很多播放器Javascript API在触发播放停止或暂停等事件时提供当前时间,但我应该在客户端计算吗?或者只是将当前时间发送回服务器,然后在服务器端计算?请帮我找到一个粗略的解决方案。
TL;DR:使用js脚本跟踪元素并将其保存到数据库中。
您必须跟踪页面中所有可能的用户事件。因此,您可以计算用户是否观看、暂停或停止了视频。大致上,您可以声明四种状态:播放、停止、暂停和退出。
当用户点击"播放"按钮时,您会随着时间将这些事件跟踪到日志事件中。"暂停"answers"停止"也是如此。然后,你只需分析你的日志表就可以知道有多少人被观看了。例如:
| id | user | event | time |
|----|------|-----------|----------|
| 1 | John | start | 12:00:00 |
| 2 | John | pause | 12:01:30 |
| 3 | John | start | 12:02:00 |
| 4 | John | exit_page | 12:03:00 |
跟踪用户事件,我们计算时间为:1分30秒(当"John"启动然后暂停视频时)加1分钟(当"约翰"再次启动直到他关闭页面时),总计2分30秒。
您需要一个js脚本将这些事件发送到后端,然后将其保存到日志表中。然后检索所有用户操作并计算。
当然,还有更复杂的方法,但这是一个快速的方法,可以解决您的问题,我们会引导您找到另一个解决方案。
- 如何使用 Angular JS 将数据保存在数据库中
- PHP:显示sqlite数据库中的html格式数据,使用tinymce保存
- 将数据保存到数据库(ajax/php)后,使文本字段变灰/禁用
- 获取用户位置并将坐标保存在数据库中
- ForerunnerDB将其数据库保存在哪里
- 如何在本地存储(或其他数据库)上安全地保存敏感访问代码
- 输入框值将保存到 MySQL 数据库
- 如何从重定向的支付处理器网站提取交易详细信息并保存到我的rails 4数据库
- 将javascript变量保存到数据库中
- ASP.NET MVC-如何捕获多个复杂的ListBox值并将其保存到数据库中
- jTinder保存到数据库
- 验证数据并将其保存到数据库以供实时应用程序使用的正确方法
- Angular js,在选择元素上,我想 POST 数据以将其保存在数据库中,然后我想使用 PUT 更新它而无需重新加载
- HTML5数据库保存了详细信息以及一个按钮
- 如何确保在 Mocha 中的 done() 之前执行对数据库的循环保存
- 索引数据库保存范围为
- 将动态输入表单数据保存到数据库kendoui中
- 可以'编辑后不会将数据保存在数据库中,但网格显示更改
- 我如何在Asp.netmvc4中使用jquery-ajax创建文本框来保存数据库中的任何输入
- 在phonegap应用程序中保存数据库的位置