视频播放端、管理后台与接口服务的结构示意
ORANGEZH / 交付案例

视频播放系统开发

3 个仓库覆盖视频播放端、管理后台与接口服务,权限控制到每个视频,管理端跟踪上传转码状态,播放端做弱网降级。

约 6 分钟读完 5 条买家问答 关键事实可核验

项目概览

项目背景

这是一套视频服务三件套,共 3 个仓库:JavaScript 编写的视频播放端、Vue 编写的管理后台,以及 Java 编写的接口服务。播放端负责视频播放与弱网降级,管理端负责上传与转码状态跟踪,接口层负责视频数据访问与逐视频的权限校验。

客户当时的状态

视频系统的问题通常集中在两个地方。一是权限:很多系统把「不能看的视频藏起来」当成权限控制,但播放地址一旦下发到前端,遮挡就失去意义了,权限必须落在接口层、按单个视频判断。二是形态差异:点播有进度、能拖动、能续播,直播只有当前进度,两者用同一套播放逻辑,体验都会变差。此外,上传之后要转码,转码过程如果不可见,用户和管理员就只能反复问「好了没」;移动网络下播放中断是常态,报错退出会直接赶走用户。还有一点容易被忽略:视频资源一旦播放地址泄露,性质上等同于内容泄露,所以鉴权不能只在进入页面时做一次。

我们的做法与取舍

第一个取舍是把权限判断放到接口服务,逐个视频校验,而不是靠前端遮挡。代价是每次播放都要走一次鉴权,收益是权限这件事真正成立。

第二个取舍是点播与直播分开处理,各自用合适的状态模型。共用一套播放逻辑看着省事,但两种场景的核心诉求本来就不一样。

第三个取舍是把上传转码状态完整暴露出来。处理中、成功、失败都要可见。状态不透明省下的开发量,最后都会变成沟通成本。与其让用户反复追问进度,不如把状态直接摆在界面上。

系统怎么承载这条链路

播放层是视频播放端,处理点播与直播两种形态并落实弱网降级;服务层是 Java 接口服务,承载视频数据访问、逐视频权限校验与地址下发;管理层是 Vue 管理后台,负责上传、转码触发与状态跟踪。

交付状态与边界

三个仓库的最后提交时间都是 2025 年 8 月,目前没有再更新的记录。边界说明:视频内容由贵方提供,我们不参与内容生产与审核;存储与分发带宽以既有或签约的服务方案为准;视频版权与传播授权由内容提供方负责。播放端的降级参数可以按贵方的实际网络情况调整,但降级的判断逻辑统一在前端实现,不在服务端分散处理。这些边界在方案阶段就需要明确,避免交付后责任不清。

项目信息

客户

某视频服务项目

项目周期

未披露

技术栈

JavaScript(视频播放端)/ Vue(管理后台)/ Java(接口服务)

服务类型

视频服务三件套

CHALLENGES

客户当时面对的现实

01

视频能不能看、谁能看哪个视频,权限必须落到单个视频上,只做菜单级控制等于没控

02

点播与直播的形态差异明显:一个可拖动、可续播,一个只能跟当前进度,不能套同一套播放逻辑

03

上传之后要转码,转码过程不透明,用户和管理员都不知道卡在哪一步

04

移动网络条件下播放中断是常态,播放端必须能在弱网下降级而不是直接报错

CAPABILITIES

我们交付的能力

视频系统的问题一半在权限,一半在弱网

视频权限控制

权限判断落到具体视频,由接口服务统一校验,不依赖前端遮挡。

点播与直播区分

点播与直播按形态分别处理,续播、进度与状态管理方式不同。

上传与转码跟踪

管理端承载上传与转码状态跟踪,处理中、成功与失败都可见。

弱网降级

播放端在网络不稳时按策略降级,优先保证可看,而不是直接中断。

SCOPE

交付范围

以下范围按本项目实际交付内容与边界整理,不属于这次范围的部分一并列出。

已交付

  • 视频播放端(JavaScript)
  • 管理后台(Vue)
  • 接口服务(Java,含权限校验)
  • 上传与转码状态跟踪
  • 播放端弱网降级策略

不在本次范围

  • 视频内容本身:内容由贵方提供,我们不参与内容生产与审核
  • 存储与分发带宽:以既有或签约的服务方案为准
  • 视频版权与传播授权:由内容提供方负责

ARCHITECTURE

分层技术架构

公开口径归纳为三层:播放层是 JavaScript 播放端;服务层是 Java 接口服务,承载视频数据与权限校验;管理层是 Vue 管理后台,负责上传与转码状态跟踪。

FLOW 01

播放层

视频播放端 点播与直播形态 弱网降级

保证在各种网络条件下都能看下去

FLOW 02

服务层

接口服务 逐视频权限校验 播放地址下发

权限在服务端判断,前端遮不住问题

FLOW 03

管理层

上传 转码状态跟踪 视频管理

让视频处理过程对管理员可见

DELIVERY

交付过程

分阶段推进,每个阶段都有可验收的产出,客户在早期就能看到实际效果。

阶段一

形态与权限梳理

确认点播与直播的覆盖范围,定义视频级的权限规则。

阶段二

接口服务与权限

Java 接口服务承载视频数据访问与逐视频权限校验。

阶段三

管理端上传与转码

管理后台实现上传、转码触发与状态跟踪。

阶段四

播放端与弱网策略

播放端交付,落实弱网降级与异常处理。

FACTS

可核验的交付事实

以下内容来自本项目实际交付物;未经验证的指标不予展示。

3个仓库

播放端 / 管理端 / 接口层

3个组成部分

三种技术栈各司其职

2025-08最后提交

三个仓库的最后提交时间

TRANSFER

这套做法适不适合你

案例的用处不是证明"我们做过",而是让你判断"在我们这种条件下能不能做成"。下面三句是我们对这一单的判断,写下来供你对照自己的情况。

适合什么情况

适合视频内容需要按人按条控制访问、且用户网络环境不稳定的场景。

什么情况下别照搬

若视频全部公开、没有权限诉求,逐条权限校验属于过度设计;内容生产与版权不在开发范围内。

如果要试,第一步做什么

先把「谁能看哪个视频」的规则写成一份清单。

RELATED SERVICES

相关服务

从实际业务问题出发,查看对应服务的适用场景、交付物与不含项;具体范围仍需单独确认。

FAQ

常见问题

以下是同类项目沟通中出现频率最高的问题,答案就是我们实际的做法。

视频权限为什么不能在前端做?
前端只能决定「显示不显示」,决定不了「能不能拿」。把地址给出来之后,前端遮挡就没意义了。所以权限判断必须落在接口服务上,逐个视频校验。
点播和直播差别有多大?
差别在状态模型。点播有进度、可拖动、可续播;直播只有「当前」,拖回去没有意义。用同一套播放逻辑硬套,两种体验都会变差。
上传转码为什么要做状态跟踪?
因为转码不是瞬时的,失败也不是罕见情况。没有状态跟踪,用户只能反复问「好了没」。把每一步状态暴露出来,能省掉大量沟通。
弱网下怎么办?
降级而不是报错。按网络情况调整清晰度与加载策略,优先保证能看下去。移动网络下中断本来就是常态。
现在还在维护吗?
三个仓库的最后提交时间都是 2025 年 8 月,目前没有更新的记录。这一点我们如实说明。

本页最后更新:2026年9月24日

下一步

聊聊你的视频怎么管怎么放

从权限规则、点播直播形态到弱网策略,一起确认第一期范围。

商务联系人卢刚
商务联系人微信二维码 微信扫码加商务联系人,
发需求文档或截图都行。