首页 > 其他分享 >视频播放进度记录实现思路

视频播放进度记录实现思路

时间:2024-11-25 20:00:01浏览次数:12  
标签:视频 续播 用户 进度 播放 服务端

视频播放的进度记录,需要实现视频续播功能。

首先,要做到切换设备后还能续播,用户的播放进度必须保存在服务端,而不是客户端。

其次,用户突然断开或者切换设备,续播的时间误差不能超过20秒,那播放进度的记录频率就需要比较高。前端每隔10秒就发起一次心跳请求,提交最新的播放进度,记录到服务端。这样用户下一次续播时直接读取服务端的播放进度,就可以将时间误差控制在10秒左右。

1. 功能背景

  • 网站课程以录播视频为主,为提升学习体验,需要实现视频续播功能。

  • 用户断开连接或切换设备后,仍然可以从上一次播放位置继续学习。

  • 产品要求

    • 续播时间误差控制在 20 秒以内。

    • 支持多设备切换续播。

2. 功能分析

  • 服务端存储进度

    • 为保证多设备同步,播放进度需要存储在服务端,而不是本地客户端。

    • 存储的播放进度包括:用户 ID、视频 ID 和当前播放时间点。

  • 高频率记录

    • 为控制误差在 20 秒以内,用户播放时需要频繁向服务端更新播放进度。

    • 前端每隔 10 秒通过心跳请求发送当前播放进度,减少误差范围。

  • 多设备支持

    • 用户切换设备时,前端从服务端获取最后一次记录的播放进度,并从该进度点开始播放。

3. 功能设计

3.1 前端设计

3.1.1 播放进度上传

  • 前端在播放视频时,每隔 10秒通过心跳请求将当前播放进度(currentTime)发送到服务端。

  • 如果用户暂停视频或页面关闭,也会发送一次停止时的进度。

3.1.2 播放进度恢复

  • 用户打开新设备或重新加载页面时,通过 API 请求服务端获取当前用户和视频的最后一次记录的播放进度。

  • 根据返回的时间点(currentTime),将视频定位到对应的时间点。

3.2 服务端设计

服务端主要负责存储、查询和更新用户的播放进度。

3.2.1 数据模型

设计一个数据库表,用于存储用户的播放进度信息:

CREATE TABLE video_progress (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    user_id BIGINT NOT NULL,       -- 用户 ID
    video_id BIGINT NOT NULL,      -- 视频 ID
    progress INT NOT NULL,         -- 播放进度(单位:秒)
    update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- 更新时间
    UNIQUE(user_id, video_id)      -- 确保每个用户的每个视频只存储一条记录
);

3.2.2 功能实现

前端在播放视频时,每隔 10秒通过心跳请求将当前播放进度(currentTime)发送到服务端,服务端将数据写入数据库。

4. 问题分析

由于播放进度记录较为频繁,写数据库的压力太大。

写数据库压力大的问题将在下一篇,视频播放进度记录方案改进中解决。

标签:视频,续播,用户,进度,播放,服务端
From: https://blog.csdn.net/qq_46637011/article/details/143999835

相关文章

  • Runway 新增视频扩展画面功能;Anthropic 再获亚马逊投资 40 亿美元,聚焦 AI 芯片研发丨
      开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(Real-TimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑......
  • Android 使用MediaCodec Api 进行视频的编解码
    从视频编解码实现的过程涉及使用 MediaCodec API进行视频的编码和解码。以下是一个详细的步骤指南,有助于我们理解如何实现视频编解码,不足之处望谅解。1.环境准备确保你的Android项目中已经添加了必要的权限和依赖项。在 AndroidManifest.xml 中添加以下权限:<uses-pe......
  • 5大核心技术详解:AI视频监控系统背后的工作原理
    随着人工智能的发展,AI视频监控技术成为当前视频监控行业的一大革新。传统监控系统往往依赖人工实时查看,效率低且容易遗漏,而AI赋能的视频监控系统可以通过图像识别、深度学习等技术实现自动化、智能化。本文将从技术层面对AI视频监控的五大核心组成部分进行详细解析。高效数据处......
  • 提高工地效率:4G无线太阳能供电视频监控智慧工地方案应用解析
    一、方案背景随着现代化工程建设的不断发展,智慧工地的概念逐渐普及,通过引入先进的互联网技术、物联网技术和视频监控技术,实现了工地的数字化、精细化、智慧化管理。而4G无线太阳能供电监控方案,在这一进程中扮演着重要角色,为智慧工地提供了稳定、可靠的监控手段。智慧工地面临的......
  • Python爬虫:获取某站视频评论+数据可视化 手把手教程
    目录前言一、获取数据1.1 使用 requests 库发送HTTP请求1.2获取'User-Agent','cookie'和视频oid二、处理数据2.1某站响应的json数据格式 2.2封装函数process_comment:选择指定字段 2.3 封装函数fetch_comments:发送HTTP请求并保存字段为xlsx文件2.4cooki......
  • 水域入侵检测视频分析服务器人员闯入危险水域识别算法:守护生命安全的前沿技术
    随着科技的飞速发展,视频监控技术已经广泛应用于社会生活的各个领域,从公共安全到环境保护,无不体现着其巨大的价值。在这一背景下,视频分析服务器作为智能监控系统的核心,正不断融合先进的人工智能算法,以实现更为精准、高效的监控目标。其中,人员闯入危险水域视频分析服务器作为一项前......
  • H5流媒体播放器EasyPlayer.js网页直播/点播播放器如果H.265视频在播放器上播放不流畅,
    随着流媒体技术的迅速发展,H5流媒体播放器已成为现代网络视频播放的重要工具。其中,EasyPlayer.js网页直播/点播播放器作为一款功能强大的H5播放器,凭借其全面的协议支持、多种解码方式以及跨平台兼容性,赢得了广泛的关注和应用。如果H.265视频在播放器上播放不流畅,可以考虑以下几种......
  • 工帽/安全帽检测视频分析网关摄像机实时接入分析平台安全帽识别监控解决方案
    在建筑施工领域,保障工人的安全始终是项目管理的重中之重。随着人工智能和计算机视觉技术的发展,智能视频监控系统在工地安全管理中的应用越来越广泛,尤其是安全帽检测技术,它通过自动化的方式大大提高了安全监管的效率和效果。以下是对工地安全帽检测算法的工作原理、功能应用以及其......
  • AI视频生成神器:AIVideoGenerator.me,释放你的创意潜能
    视频正在成为表达创意和传递信息的重要方式,而AIVideoGenerator.me的出现,让这一过程变得更加简单和高效。通过这款工具,用户可以直接输入文本或上传图片,以创新方式生成高质量的视频,轻松实现文生视频和图生视频的创作需求。AIVideoGenerator.me的核心功能文生视频:从文字到视频......
  • 如何优化团队进度追踪?看板管理方法
    看板管理作为一种可视化、灵活的项目管理工具,以其清晰的工作流程展示和动态的任务状态更新,成为优化进度追踪的利器。本文将从看板管理的核心理念出发,探讨其对进度追踪的优化策略,并提供实践建议。一、看板管理与进度追踪1)看板管理核心理念:可视化与流动性看板管理起源于丰田生......