视频设置与媒体库
视频放在哪里(Bunny/YouTube/Vimeo)、防盗录水印怎么设,以及图片与文件的媒体库用法。
视频是课程网站最贵、也最怕外流的资产。这页讲两件事:视频放在哪里(设置 → 视频设置),以及图片与文件放在哪里(网站内容 → 媒体库)。

视频的三种来源
每个单元都可以各自选来源,同一门课混用也没问题。
| 来源 | 适合谁 | 保护程度 |
|---|---|---|
| Bunny(上传视频文件) | 正式售卖的付费课程 | 最好。视频绑定你的域名,只能在你的站内播放 |
| YouTube(粘贴网址) | 免费课、试看、预告 | 低。设为「不公开」也挡不住拿到网址就转发 |
| Vimeo(粘贴网址) | 已经在用 Vimeo 的人 | 免费版低、Plus/Pro 以上可锁域名 |
只卖一两门、单价不高的课,YouTube「不公开」其实够用。真正要防的是「整套课被打包转卖」——那就一定要用 Bunny。
设置 Bunny(上传视频必做)
Bunny 是你自己的账户,视频费用直接付给 Bunny,平台不经手也不加价。以下五步请按顺序做完,第 5 步是验收,不要跳过。
第 1 步|创建视频库
到 bunny.net 注册 → 左侧选 Stream → Add Video Library。
创建时会问要复制到哪些地区(Replication regions),选离学员最近的。没勾学员所在区域的节点,等于每次播放都要跨洋拉文件,学员会觉得视频一直转圈。
第 2 步|把三个值填进「设置 → 视频设置」
进入该视频库 → API 标签页,把三个值抄过来:
| Bunny 上的名称 | 填进我们的哪一栏 | 长什么样 |
|---|---|---|
| Video Library ID | 视频库 ID | 一串数字,例如 123456 |
| API Key | API 密钥 | 一长串英数字 |
| CDN Hostname | CDN 主机名 | vz-xxxxxxxx-xxxx.b-cdn.net |
🚨 CDN 主机名没填,很多东西会「安静地」失效:视频改用 Bunny 内置的 iframe 播放器播放——学员照样看得到视频,所以你不会发现,但画质菜单、断点续播、以及学员观看时长的统计全都没了。有用「退款观看门槛」的话,学员资料页会直接显示「无法判定」。
第 3 步|Security 标签页(最容易设错的一页)
| 设置项 | 要设成 | 为什么 |
|---|---|---|
| Allowed Referrers | 填上你的域名(自定义域名与 你的子域名.平台域名 两个都要填) |
留空=任何人都能盗链你的视频放到自己站上;填错=连你自己的站都播不出来 |
| Block direct URL file access | 关闭 | 开启后播放需要签名网址,本系统目前不签,会播不出来 |
| Token Authentication | 关闭 | 同上 |
| DRM(MediaCage) | 关闭 | 付费功能,而且会挡掉本系统的播放器 |
第 4 步|Encoding 标签页(这页决定你每月付多少)
- Resolutions:勾 360p/480p/720p/1080p 就够。2160p(4K)不要开——转码费与流量费都贵上好几倍,在线课程根本用不到
- Keep original files:关闭。原始文件留着会一直算你存储费
- MP4 Fallback:关闭。开了等于多给一个可以直接下载整支视频的网址,防盗录就破功了
第 5 步|确认真的生效(每次改完设置都要做一次)
用站长账号打开任何一门有 Bunny 视频的课程播放页,看播放器左上角的小标签:
- 🟢 原生播放器(CDN 生效) → 设置正确,收工
- 🟡 已退回内置播放器(CDN 未生效) → 回第 2、3 步检查 CDN 主机名与 Allowed Referrers
这个标签只有站长/管理员看得到,学员看不到。没看到 🟢 就等于前面四步白做,请不要因为「视频播得出来」就当作没事。
设置完成后,在单元里选「Bunny(上传视频文件)」就能直接上传,系统会自动转码、生成缩略图,并把视频长度带进单元。转码期间可以先做别的事。
已经上传过的视频,可在单元的视频选择器切到「选择现有视频」直接挑,不必重传。
想统计「学员到底看了几成」要什么条件
课程设置里的「启用退款观看门槛」(观看超过你指定的比例就不受理退款)需要精确的观看时长,成立条件有三个,缺一不可:
- 该课程的每一个单元都是 Bunny 视频——YouTube 的视频学员可以直接跑去 YouTube 看、完全绕过我们;Vimeo 则根本回报不了进度
- CDN 主机名已填,且播放页显示 🟢
- 每个单元都有视频长度(Bunny 上传的会自动带入,不用手填)
任一条不成立,学员资料页不会给你一个似是而非的数字,而是直接说「无法判定」并列出是哪几个单元卡住。这是刻意的:拿一个不完整的百分比去拒绝退款,比不给还糟。
计算方式是「实际看过的秒数 ÷ 该课程所有单元的视频总时长」——快进略过的段落不算,同一段重看十次也只算一次。
动态水印(防盗录)
勾选「课程视频套用本系统播放器并显示动态水印」后,播放画面上会叠一段小字,每隔几秒换一个角落,全屏也跟着。
- 要显示什么:Email、姓名、手机、学员编号、网站名称、课程名称、观看时间——自由勾选,取不到值的字段会自动略过那一行
- 自定义文字:可以插入变量,例如
{name} 专用 · 禁止外流 - 文字明显度:越高越难去除,但也越干扰观看。多数人设 30–50% 就够
- 换位间隔:每几秒跳到下一个角落。设太长容易被裁掉,建议 10 秒内
- 下方有实时预览,不用真的开一支视频来试
它的用途是震慑与追查:视频真的外流时,画面上就写着是哪个账号流出去的。
⚠️ 两个要知道的副作用:
- 为了让全屏也有水印,Vimeo/YouTube 视频会改用本系统的全屏按钮(停用它们原生的)
- 未登录的访客没有 Email/姓名/手机/学员编号,所以只会看到「网站名称/课程名称/观看时间」这三项;三项都没勾的话,试看的访客就完全没有水印
YouTube 视频要不要隐藏品牌
另一个独立选项:「启用自制播放器覆盖 YouTube 视频的链接」。勾了之后 YouTube 视频改用自制播放器播放,隐藏 YouTube 标志,源代码里也看不到视频链接。取消勾选则是标准 YouTube 嵌入(会显示 YouTube 品牌)。
媒体库:图片与文件
「网站内容 → 媒体库」是全站共用的文件柜:课程封面、文章配图、页面素材、可下载的讲义都放这里。

- 支持格式:图片、PDF、Word、Excel、PowerPoint、zip、txt、csv
- 上传时去背:勾了之后白底会变透明,适合 Logo 与商品去背图
- 自动压缩:图片上传时会自动压成 WebP,不必自己转档
- 复制网址:每个文件都可以拿到直接网址,粘贴到文章或页面里都行
- 从旧网站抓图:粘贴旧站网址,把那一页的图片整批抓进媒体库,不必一张张另存再上传
- 清理没在用的文件:列出没有被任何课程/文章/页面引用的文件,确认后再删
两个省时间的功能
复制全部图片网址给 AI:点右上「选取」勾出这次要用的图 → 「复制选取的网址给 AI」,粘贴到 ChatGPT/Claude 请它帮你排版时,它就知道有哪些图可用。
压缩省容量:从旧站搬过来的大图常常一张好几 MB。勾选后点「🗜 压缩省容量」会重压成 WebP,网址不变——已经插在文章里的图不会坏掉。
容量上限
后台总览页上方有一条容量进度条,显示「已用 / 上限」。快满时会转黄、超过会转红。做法有两个:先用「压缩省容量」清一轮,还是不够再加购(每单位 5GB)。
常见问题
视频费用是谁付? Bunny 是你自己的账户,直接付给 Bunny。平台不抽成也不加价。
已经传到 YouTube 了,还要重传到 Bunny 吗? 不用。单元可以直接粘贴 YouTube 网址。等到课程卖得起来、需要更强的保护时再搬。
水印会不会影响观看体验? 会一点,这是刻意的。把明显度调到 30% 左右,看得到但不挡内容,通常是可接受的平衡点。
删掉媒体库的图片,文章里的图会坏掉吗? 会。删除前先确认没有页面在用它——网址是直接指向该文件的。
视频可以下载吗? 播放器没有下载按钮。但任何在浏览器播得出来的视频,技术上都有办法被录下来——这就是水印存在的理由。
播放器左上角出现 🟡「已退回内置播放器」,视频明明播得出来,要紧吗? 要紧。那代表我们的原生播放器载不到视频,自动退回 Bunny 内置的 iframe 了。学员看得到视频,但画质菜单、断点续播、观看时长统计都不会运作。九成是 Bunny 的 Allowed Referrers 没填你的域名,或 CDN 主机名贴错。
学员资料页显示「无法判定观看比例」是什么意思? 该课程里有系统统计不到时长的单元。常见三个原因:课程混用了 YouTube/Vimeo 视频、CDN 主机名没填(Bunny 视频退回 iframe 播放)、或某些单元还没有视频长度。提示里会写是哪一种。
我改了退款门槛的百分比,之前的学员会被追溯吗? 会用新的百分比去比对,但观看记录只从你勾选启用的那一刻起才开始累积。没启用时系统完全不记录,所以不会有历史数据可以回溯。要用这个机制,请在开卖前就设置好。