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

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

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

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

相关文章
|
4天前
|
Web App开发 安全 应用服务中间件
网站被浏览器报不安全:HTTPS证书链、安全响应头与Mixed Content的排查记录
客户网站突然被浏览器报不安全,排查发现是HTTPS证书链不完整加安全响应头缺失。本文记录了证书链补全、CSP/HSTS等安全响应头配置和Mixed Content修复的完整过程,以及5个实际踩过的坑。
|
机器学习/深度学习 人工智能
谷歌发AI足球教练模型TacticAI 登Nature子刊
【2月更文挑战第30天】谷歌DeepMind与利物浦FC合作开发的TacticAI是一款人工智能足球战术助手,能分析角球战术并提供建议,已在《Nature Communications》发表。利用图机器学习和几何深度学习,TacticAI预测角球战术并在90%情况下优于传统方法。该系统有助于教练制定精准战术,但实际比赛中的适应性和数据隐私限制了其潜力的完全发挥。
857 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配置、核心避坑指南、常见问题解答**七大核心模块,所有代码命令可直接复制执行
916 4
|
6月前
|
存储 运维 安全
什么是云服务器?
云服务器是基于云计算的虚拟化计算资源,支持弹性伸缩、高可靠存储、多重安全防护与简化运维。适用于网站托管、AI训练、游戏服务、开发测试等场景,具备成本低、可用性高(99.995%)、安全合规等优势,助力企业轻装上阵、专注创新。(239字)
964 0
|
6月前
|
存储 人工智能 搜索推荐
阿里云 AI Agent 全套餐指南:qwen-plus、函数计算 CU、NAS资源包价格及使用教程
阿里云AI Agent全套餐仅113.66元!含Qwen-Plus大模型(12000千tokens)、函数计算CU(50万CU)及NAS存储(200GiB),覆盖LangStudio推理、MCP搜索、文档持久化等核心场景,一站式搭建高性价比智能体。
792 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字)
536 0
|
3月前
|
人工智能
中文AI播客推荐:用耳朵跟上AI,这些音频节目值得长期订阅
文字信息密度高但消耗注意力,播客的好处是能塞进通勤、做饭、跑步这些"眼睛在忙但耳朵空着"的时间。而AI领域恰好特别适合播客这种形态——很多最有价值的信息不是来自新闻稿和论文摘要,而是来自创业者、投资人、工程师在对话中不经意透露的判断、踩过的坑和正在验证的假设。这些内容很难写成文章,但在一个小时的对话里自然就流出来了。
753 0
|
6月前
|
机器学习/深度学习 人工智能 监控
电梯内自行车与电动车目标检测数据集(28000张已标注图像)| AI训练适用于目标检测任务
本数据集含28000张电梯内真实监控图像,精准标注“自行车”“电动车”两类目标,专为AI安防场景设计。覆盖多环境、多尺度、强遮挡等复杂情况,标注质量高,已按标准划分train/val/test,可直接用于YOLO、Faster R-CNN、SSD等模型训练,助力电动车入梯智能识别与实时预警。
|
6月前
|
存储 自然语言处理 API
省下亿万Token的秘密:三次对话,两万字代码背后的RAG魔法
本文剖析了开发者在调试中“复制粘贴海量代码→浪费Token→触发模型失忆”的恶性循环,提出RAG编码助手作为破局方案:通过AST智能切分、跨文件多跳检索与结构化Prompt,将每次输入从2.5万字压缩至数百字,Token消耗降低96%,响应提速数倍,且支持纯本地部署,兼顾效率、精准与安全。(239字)
698 6

热门文章

最新文章