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

简介: 本文记录在线课程系统视频点播的完整配置流程:转码规格设定(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. 播放鉴权必须做,视频地址只能由后端签发

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

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

相关文章
|
机器学习/深度学习 人工智能
谷歌发AI足球教练模型TacticAI 登Nature子刊
【2月更文挑战第30天】谷歌DeepMind与利物浦FC合作开发的TacticAI是一款人工智能足球战术助手,能分析角球战术并提供建议,已在《Nature Communications》发表。利用图机器学习和几何深度学习,TacticAI预测角球战术并在90%情况下优于传统方法。该系统有助于教练制定精准战术,但实际比赛中的适应性和数据隐私限制了其潜力的完全发挥。
843 2
谷歌发AI足球教练模型TacticAI 登Nature子刊
|
6月前
|
人工智能 机器人 Linux
阿里云轻量服务器部署OpenClaw|钉钉接入+千问/Coding Plan API配置+避坑指南
2026年,OpenClaw(原Clawdbot)凭借轻量化部署、多平台兼容与大模型深度集成能力,成为企业与个人搭建专属AI自动化代理的首选工具。依托阿里云轻量服务器的稳定运行与公网访问能力,搭配钉钉的企业级通信生态,可快速实现“云端AI服务+钉钉消息交互+大模型智能响应”的办公自动化闭环。本文基于2026年OpenClaw最新稳定版(v2026.3.28),完整覆盖**阿里云轻量服务器部署、本地MacOS/Linux/Windows11部署、钉钉接入全流程、阿里云千问大模型API配置、Coding Plan免费API配置、核心避坑指南、常见问题解答**七大核心模块,所有代码命令可直接复制执行
899 4
|
6月前
|
存储 运维 安全
什么是云服务器?
云服务器是基于云计算的虚拟化计算资源,支持弹性伸缩、高可靠存储、多重安全防护与简化运维。适用于网站托管、AI训练、游戏服务、开发测试等场景,具备成本低、可用性高(99.995%)、安全合规等优势,助力企业轻装上阵、专注创新。(239字)
839 0
|
6月前
|
存储 人工智能 搜索推荐
阿里云 AI Agent 全套餐指南:qwen-plus、函数计算 CU、NAS资源包价格及使用教程
阿里云AI Agent全套餐仅113.66元!含Qwen-Plus大模型(12000千tokens)、函数计算CU(50万CU)及NAS存储(200GiB),覆盖LangStudio推理、MCP搜索、文档持久化等核心场景,一站式搭建高性价比智能体。
764 1
|
2月前
|
缓存 Prometheus 监控
大模型API调用成本控制:Token估算、缓存策略与模型选择实践
本文介绍面向高频查询(日数百次)的大模型成本控制方案,涵盖Token估算、Redis缓存、多模型分级选型(Turbo/Plus/Max)及Prometheus费用监控告警。基于阿里云百炼与DashScope实现,需Python基础及API Key
362 2
|
2月前
|
人工智能 自然语言处理 数据安全/隐私保护
DeepSeek 复制到 Word 格式混乱的通用处理流程和选型建议
DeepSeek生成内容复制到Word常出现“#*”乱码,根源在于Markdown与办公软件格式不兼容。本文详解标题、表格、公式等元素的转换要点,提供手动处理、脚本及DS随心转等方案,并强调保留原文、复核高风险元素与合规交付的重要性。(239字)
400 0
|
3月前
|
人工智能
中文AI播客推荐:用耳朵跟上AI,这些音频节目值得长期订阅
文字信息密度高但消耗注意力,播客的好处是能塞进通勤、做饭、跑步这些"眼睛在忙但耳朵空着"的时间。而AI领域恰好特别适合播客这种形态——很多最有价值的信息不是来自新闻稿和论文摘要,而是来自创业者、投资人、工程师在对话中不经意透露的判断、踩过的坑和正在验证的假设。这些内容很难写成文章,但在一个小时的对话里自然就流出来了。
639 0
|
9月前
|
CDN
阿里云CDN收费标准:流量价格、带宽峰值计费及月结95带宽峰值计费说明
阿里云CDN收费包含基础费与增值费。基础费默认按流量计费,支持阶梯价及资源包抵扣;也可选按带宽峰值或月结95带宽计费。增值费如HTTPS、QUIC、WAF、实时日志等按使用收费,不使用不计费。2024年最新价格详见官方页面。
1233 2
|
存储 分布式计算 Java
Spark RDD 及性能调优
RDD(弹性分布式数据集)是Spark的核心抽象,支持容错和并行计算。其架构包括分区、计算函数、依赖关系、分区器及优先位置等关键组件。操作分为转换(Transformations)与行动(Actions),提供丰富的API支持复杂数据处理。 执行模型涵盖用户代码到分布式执行的全流程,通过DAG调度优化任务划分与资源分配。内存管理机制动态调整存储与执行内存,提升资源利用率。 性能调优涉及资源配置、执行引擎优化及数据处理策略。Catalyst优化逻辑计划,Tungsten提高运行效率,而合理分区与缓解数据倾斜可显著改善性能。这些特性共同确保Spark在大规模数据处理中的高效表现。
701 1
|
安全 关系型数据库 Shell
ssh核心隧道类型(三大类)
SSH端口转发包括本地、远程和动态三种模式。本地转发将远程服务映射到本地,用于访问数据库或内网服务;远程转发将本地服务暴露到远程,适合临时公开开发环境;动态转发则建立SOCKS代理,实现安全上网或突破网络限制。每种模式均通过SSH隧道实现,保障通信安全。

热门文章

最新文章