在线课程视频点播配置实践手记:转码、防盗链与播放鉴权

简介: 本文记录在线课程系统视频点播的完整配置流程:转码规格设定(H.264/720p/码率)、防盗链两层防护(Referer白名单与URL签名有效期)、播放鉴权接口设计,并附5个真实踩坑案例。

在线课程视频点播配置实践手记:转码、防盗链与播放鉴权

上个月帮一家教培机构做在线课程系统,课程视频上线第三天就被盗链了:有人把视频地址扒出来直接嵌入自己网站,一天跑了几个 TB 的流量。机构老板看到流量账单直接懵了。这篇把视频点播从转码到防盗链的完整配置过程记录下来,给同样做课程系统的朋友参考。

一、转码:先定规格再上传

原始视频不能直接给用户播放,要转成适合网络传输的格式。我们定的转码规格:

参数 配置 说明
编码格式 H.264 兼容性最好,浏览器直接播放
分辨率 720p(1280×720) 课程视频够用,文件体积可控
码率 视频 1.5Mbps / 音频 128kbps 兼顾清晰度和加载速度
封装格式 MP4 支持拖动进度条播放

转码参数要注意:音频单独一条音轨(AAC),不要用双音轨,部分播放器兼容性差;码率不要贪高,1080p 全片源文件十几 GB,转完码率设太高,用户手机流量播放会卡。

二、防盗链:Referer 校验 + URL 签名

防盗链是课程系统的命门,两层防护都要上:

第一层:Referer 白名单。只允许自己域名下的页面引用视频地址:

location /video/ {
    valid_referers none blocked *.edu-example.com;
    if ($invalid_referer) {
        return 403;
    }
}

第二层:URL 签名(有效期)。给视频地址加时效签名,过期即失效,就算被扒走也播不了:

https://cdn.example.com/video/lesson01.mp4?auth_key=1690000000-0-0-abc123def456

签名规则:过期时间戳 + 随机数 + MD5(路径+密钥+过期时间)。视频地址有效期设 30 分钟,播放器每次播放前向后端请求新的签名地址。

三、播放鉴权:登录才能看

防盗链只是防外站盗用,站内还要控制"谁有权限看"。课程视频的播放鉴权流程:

用户点击播放
    ↓
前端带 token 请求播放接口
    ↓
后端校验 token + 课程购买状态
    ↓
校验通过才返回签名后的视频地址
    ↓
播放器加载视频

关键点:视频地址只由后端签发,前端页面里不能出现任何静态视频链接,否则绕过播放接口直接访问。

四、踩坑清单(这 5 个坑都踩过)

  1. 转码没统一规格,有的课 480p 有的 1080p,用户反馈"有的课特别糊"
  2. 只做了 Referer 防盗链,Referer 可以被伪造,视频地址还是被扒走
  3. 签名有效期设了 7 天,地址泄露后一周内都能播,改成 30 分钟好很多
  4. 播放接口没做鉴权,未购买用户直接拿签名地址看了付费课
  5. 忘记配视频预加载策略,用户点播放要等 3 秒,投诉"转圈太久"

这次课程系统用的是乔拓云的教育产品,视频上传后转码和防盗链在后台自动处理,我主要把精力放在播放鉴权接口和签名有效期这两块自研逻辑上,上线一个月没有再出过盗链问题。

复盘要点

  1. 转码规格先定死(H.264/720p/1.5Mbps),避免每门课格式不一
  2. 防盗链两层都要:Referer 防外站,URL 签名防扒链
  3. 播放鉴权必须做,视频地址只能由后端签发

以上是个人实践记录,各平台具体功能以官方实时信息为准。

开放问题:你们做在线视频播放时,防盗链还遇到过哪些绕过手段?

相关文章
|
5天前
|
Web App开发 安全 应用服务中间件
网站被浏览器报不安全:HTTPS证书链、安全响应头与Mixed Content的排查记录
客户网站突然被浏览器报不安全,排查发现是HTTPS证书链不完整加安全响应头缺失。本文记录了证书链补全、CSP/HSTS等安全响应头配置和Mixed Content修复的完整过程,以及5个实际踩过的坑。
|
6月前
|
机器学习/深度学习 人工智能 监控
人工智能驱动下网络攻击的行为分析范式演进与防御重构
本文剖析AI驱动的网络攻击新范式,指出传统签名/规则防御在个性化钓鱼、自适应恶意软件等场景下已失效;提出以身份为中心的动态风险建模,融合全栈监控、零信任与JIT访问控制,构建基于行为意图的实时防御体系。(239字)
357 2
|
6月前
|
存储 运维 安全
什么是云服务器?
云服务器是基于云计算的虚拟化计算资源,支持弹性伸缩、高可靠存储、多重安全防护与简化运维。适用于网站托管、AI训练、游戏服务、开发测试等场景,具备成本低、可用性高(99.995%)、安全合规等优势,助力企业轻装上阵、专注创新。(239字)
973 0
|
6月前
|
存储 人工智能 搜索推荐
阿里云 AI Agent 全套餐指南:qwen-plus、函数计算 CU、NAS资源包价格及使用教程
阿里云AI Agent全套餐仅113.66元!含Qwen-Plus大模型(12000千tokens)、函数计算CU(50万CU)及NAS存储(200GiB),覆盖LangStudio推理、MCP搜索、文档持久化等核心场景,一站式搭建高性价比智能体。
794 1
|
3月前
|
存储 Kubernetes 监控
阿里云容器服务ACK从零到一:K8s集群配置与生产级应用部署完全指南
本文提供了一份从零开始的阿里云容器服务ACK(Kubernetes)集群配置与应用部署完全指南。首先解析ACK托管版、专有版与Serverless版的架构差异与选型策略,帮助读者根据业务场景做出合理决策。随后详细讲解通过控制台创建ACK托管集群的完整流程,涵盖网络规划(Terway与Flannel对比、CIDR配置)、节点池管理等关键环节。在应用部署层面,深入介绍Deployment、StatefulSet等核心工作负载的YAML编排实践,并通过Service与ALB Ingress实现服务暴露与七层负载均衡。存储管理部分系统讲解基于CSI的云盘动态存储卷与ossfs 2.0的使用方法。安全体
|
2月前
|
人工智能 自然语言处理 数据安全/隐私保护
DeepSeek 复制到 Word 格式混乱的通用处理流程和选型建议
DeepSeek生成内容复制到Word常出现“#*”乱码,根源在于Markdown与办公软件格式不兼容。本文详解标题、表格、公式等元素的转换要点,提供手动处理、脚本及DS随心转等方案,并强调保留原文、复核高风险元素与合规交付的重要性。(239字)
552 0
|
3月前
|
人工智能
中文AI播客推荐:用耳朵跟上AI,这些音频节目值得长期订阅
文字信息密度高但消耗注意力,播客的好处是能塞进通勤、做饭、跑步这些"眼睛在忙但耳朵空着"的时间。而AI领域恰好特别适合播客这种形态——很多最有价值的信息不是来自新闻稿和论文摘要,而是来自创业者、投资人、工程师在对话中不经意透露的判断、踩过的坑和正在验证的假设。这些内容很难写成文章,但在一个小时的对话里自然就流出来了。
762 0
|
6月前
|
机器学习/深度学习 人工智能 监控
电梯内自行车与电动车目标检测数据集(28000张已标注图像)| AI训练适用于目标检测任务
本数据集含28000张电梯内真实监控图像,精准标注“自行车”“电动车”两类目标,专为AI安防场景设计。覆盖多环境、多尺度、强遮挡等复杂情况,标注质量高,已按标准划分train/val/test,可直接用于YOLO、Faster R-CNN、SSD等模型训练,助力电动车入梯智能识别与实时预警。
|
9月前
|
CDN
阿里云CDN收费标准:流量价格、带宽峰值计费及月结95带宽峰值计费说明
阿里云CDN收费包含基础费与增值费。基础费默认按流量计费,支持阶梯价及资源包抵扣;也可选按带宽峰值或月结95带宽计费。增值费如HTTPS、QUIC、WAF、实时日志等按使用收费,不使用不计费。2024年最新价格详见官方页面。
1322 2
|
存储 分布式计算 Java
Spark RDD 及性能调优
RDD(弹性分布式数据集)是Spark的核心抽象,支持容错和并行计算。其架构包括分区、计算函数、依赖关系、分区器及优先位置等关键组件。操作分为转换(Transformations)与行动(Actions),提供丰富的API支持复杂数据处理。 执行模型涵盖用户代码到分布式执行的全流程,通过DAG调度优化任务划分与资源分配。内存管理机制动态调整存储与执行内存,提升资源利用率。 性能调优涉及资源配置、执行引擎优化及数据处理策略。Catalyst优化逻辑计划,Tungsten提高运行效率,而合理分区与缓解数据倾斜可显著改善性能。这些特性共同确保Spark在大规模数据处理中的高效表现。
728 1

热门文章

最新文章