🔍

视频设置与媒体库

视频放在哪里(Bunny/Cloudflare Stream/YouTube/Vimeo)、防盗录水印怎么设,以及图片与文件的媒体库用法。

视频是课程网站最贵、也最怕外流的资产。这页讲两件事:视频放哪里(设置 → 视频设置),以及图片与文件放哪里(网站内容 → 媒体库)。

视频的四种来源

每个单元都可以各自选来源,同一门课混用也没问题。

来源 适合谁 保护程度
Bunny(上传视频文件) 正式贩售的付费课程 最好。视频绑你的域名,只能在你的站内播
YouTube(粘贴网址) 免费课、试看、预告 低。列为「不公开」也挡不住有人拿到网址就转传
Vimeo(粘贴网址) 已经有 Vimeo 的人 免费版低、Plus/Pro 以上可锁域名
Cloudflare Stream(上传视频文件) 正式贩售、又要观看时数统计的课程 最好。打开「签章网址防盗」后,网址被拷贝出去 6 小时内就失效

只卖一两堂课、学费不高的话,YouTube「不公开」其实够用。真正要防的是「整套课被打包转卖」——那就一定要用 Bunny。

设置 Bunny(上传视频必做)

Bunny 是你自己的账户,视频费用直接付给 Bunny,平台不经手也不加价。以下五步请照顺序做完,第 5 步是验收,不要跳过。

第 1 步|创建视频库

到 bunny.net 注册 → 左侧选 Stream → Add Video Library。

创建时会问要复写到哪些地区(Replication regions):亚洲学员请勾 Singapore/Tokyo/Hong Kong。没勾亚洲节点,等于每次播放都要跨洋拉档,学员会觉得视频一直转圈。

第 2 步|把两个值填进「设置 → 视频设置」

进入该视频库 → API 分页,抄下两个值,再回到后台左侧菜单「设置 → 视频设置」粘贴:

「设置 → 视频设置」:Library ID 与 API Key 两格

Bunny 上的名称 填进我们的哪一栏 长什么样
Video Library ID Library ID(视频库 ID) 一串数字,例如 `123456`
API Key API Key(Stream 视频库的密钥) 一长串英数字

Library ID 只收数字。 它是视频库的数字编号——不是你的 Email,也不是视频库的名称。贴了其他东西,字段会变红、不让你保存。这是刻意的:这格填错不会马上出事,要等到哪天真的上传视频才失败,而 Bunny 回的错误消息也不会告诉你原因。

关于 API Key 这一格:密钥存好之后,我们不会再把它传回你的浏览器,所以字段旁会显示「已设置」、输入框则是空的。留空=沿用原本的密钥,只有要换新密钥时才需要贴。要整个清掉,按字段旁的「移除」。(支付与电子发票的凭证也是同样的做法。)

第 3 步|Security 分页(最容易设错的一页)

其中有两项设错,视频在本平台就会完全播不出来。而且 Bunny 不会给你任何有用的错误消息——视频就是一直不开始。

设置项目 要设成 设错会怎样
Allowed Referrers 填上你的域名——自定义域名与 `你的子域名.平台域名` 两个都要填 留空=任何人都能把你的视频嵌到自己站上;填错=连你自己的站都播不出来
Block direct URL file access 开启(建议) 关闭的话,任何人拿到源文件网址都能直接看。打开对我们没有副作用:我们的播放器是用嵌入的方式播你的视频,一定会带上来源网址
Embed view token authentication 关闭——必须 🚨 打开后,嵌入必须带签章 token 才载得出来。本平台不签 Bunny 的 token,所有视频都会变成一片空白
CDN token authentication 关闭——必须 同上
MediaCage Basic DRM 自己决定——见下方说明 打开:防下载的保护最强。关闭:在本平台得不到任何好处,因为不管开不开,观看时数都统计不到

关于 DRM,以及它的代价

MediaCage Basic 是免费的,会在发送时把视频档加密,让人没办法直接下载。Bunny 自己也讲得很清楚它的代价:打开后,视频只能在 Bunny 自己的嵌入播放器里播放,MP4 Fallback 也会被禁用。

对你的影响是:本平台统计不到 Bunny 视频的观看比例。我们没办法挂上自己的播放器,而 Bunny 的嵌入播放器也不会把播放进度回报给我们。我们把 DRM 关掉实测过——结果一样,所以在本平台关掉 DRM 换不到任何东西。需要观看比例的话,那几门课请改放 Vimeo;需要最强的防转卖保护,就开着 DRM,并接受那些单元统计不到。

第 4 步|Encoding 分页(这页决定你每月付多少)

  • Resolutions:勾 360p/480p/720p/1080p 就够。2160p(4K)不要开——转档费与流量费都贵上好几倍,在线课程根本用不到
  • Keep original files:关闭。源文件留着会一直算你保存费
  • MP4 Fallback:关闭。开了等于多给一个可以直接下载整支视频的网址,防盗录就破功了。(开了 DRM 的话,Bunny 本来就会帮你关掉)想让学员开车时用听的,请改在单元上传音频档,见「听课模式(纯音频)」

第 5 步|确认真的生效(每次改完设置都要做一次)

随便找一个单元上传一支短的测试视频,然后用站长账号打开那个单元、按播放。

如果画面一直出不来,原因几乎都在第 3 步的 Security 分页——Allowed Referrers 没填你的域名,或两个 token authentication 开关有一个还开着。这两种状况 Bunny 都不会给你有用的错误消息,视频就是不开始。


设置完成后,在单元里选「Bunny(上传视频文件)」就能直接上传,系统会自动转档、产生缩略图,并把视频长度带进单元。转档期间可以先做别的事,不用守着。

已经上传过的视频,可在单元的视频选择器切到「选择现有视频」直接挑,不必重传。

想统计「学员到底看了几成」要什么条件

课程设置里的「激活观看比例管制」会告诉你学员实际看了这门课的几成,让你处理退款申请时有事实可依,而不是用猜的。它从不替你做决定——不会自动核准或拒绝任何退款;你设的门槛百分比只决定学员数据页上的数字什么时候变红。要让这个数字有意义,必须同时符合两个条件:

  1. 每个单元都有视频长度(上传的视频会自动带入)
  2. 每个单元的视频来源都统计得到。各来源的能力如下:
来源 观看比例 说明
Vimeo ✅ 统计得到 请把视频的隐私设置改成「只允许嵌入在你自己的域名」,数字才会反映学员在你网站上看了多少
YouTube ✅ 统计得到,但有前提 我们算的是学员在你网站上看了多少。同一支视频在 YouTube 上也看得到,所以实际观看量可能比你看到的高——误差永远是对学员有利,不会对学员不利
Bunny(上传视频文件) ❌ 统计不到 开了 DRM 之后,Bunny 视频只能用 Bunny 自己的播放器播放,而它不会把播放进度回报给我们
Cloudflare Stream(上传视频文件) ✅ 统计得到,也可当上课时数证明 用的是本站自己的播放器,学员只能在你的网站上看(开签章网址防盗后,外流的网址会过期)

依需求挑来源:Bunny 防转卖的保护最强;Vimeo 与 YouTube 看得到观看比例。学员数据页会列出是哪几个单元让比例算不出来。

任一条件不成立,学员数据页不会给你一个似是而非的数字,而是直接说「无法判定」并列出是哪几个单元卡住。这是刻意的:拿一个不完整的百分比去拒绝退款,比不给还糟。

计算方式是「实际看过的秒数 ÷ 该课程所有单元的视频总时长」——快转略过的段落不算,同一段重看十次也只算一次。

设置 Cloudflare Stream(另一种上传选择)

Cloudflare Stream 跟 Bunny 一样是你自己的账户,费用由 Cloudflare 直接向你收(按视频分钟数计费),平台不经手也不加价。两家可以都设,每个单元各自选。

和 Bunny 最大的差别:Cloudflare 的视频用的是本站自己的播放器,所以统计得到观看比例与上课时数;还可以开「签章网址防盗」——学员按播放时,系统确认他有权看这个单元,才发一组 6 小时内有效的网址。

设置步骤(设置 → 视频设置 → Cloudflare Stream):

  1. 登录 dash.cloudflare.com → 左侧菜单 Stream → 依画面开通 Stream 方案。
  2. Account ID:登录后网址列 `dash.cloudflare.com/` 后面那 32 码英数字,整串拷贝贴到「Account ID」。
  3. API 权杖:右上角头像 → My Profile → API Tokens → Create Token → 最下方 Create Custom Token,逐栏填:
字段 填什么
Token name 随意,例如「课程网站视频」
Permissions 三格依序选 Account、Stream、Edit
Account Resources Include + 选你的账号
其他字段(Client IP Address Filtering、TTL) 留空
  1. 按 Continue to summary → Create Token,把权杖贴到「API 权杖」(权杖只会显示这一次)。
  2. 视需要勾选「签章网址防盗」,按 验证并保存。系统会立刻向 Cloudflare 测试,填错会直接显示原因。

「视频设置」页下方的 Cloudflare Stream:Account ID、API 权杖、签章网址防盗与「验证并保存」

设置好之后,在单元里选「Cloudflare Stream(上传视频文件)」:可以直接上传,也可以从视频库挑一支已经传过的。转档完成会显示缩略图,视频长度自动带进单元。

6. 验收(设好一定要做一次):随便找一个单元,视频来源选「Cloudflare Stream(上传视频文件)」上传一支短片,等缩略图出现后,用站长账号打开那个单元按播放。播得出来就完成了。

按「验证并保存」出现错误时,看错误消息里的关键字:

消息里看到 原因 怎么修
Authentication error(10000) 权杖权限不对 重建权杖,Permissions 一定要是 Account → Stream → Edit(选 Read 存得进去,但上传会失败)
Could not route(7003)、7000 Account ID 填错 重新拷贝网址列 `dash.cloudflare.com/` 后面那 32 码
权杖刚建好还是验证失败 Account Resources 没选到这个账号 编辑权杖,Account Resources 改成 Include + 你的账号
提到 subscription 或 plan Stream 还没开通 回第 1 步,在 Stream 页面开通方案

开了「签章网址防盗」之后,Cloudflare 视频只能用在课程单元与课程介绍视频。页面的视频区块与仿真直播没有「谁有权看」可以判断,请改用没开签章的视频,或 YouTube/Vimeo。

动态浮水印(防盗录)

勾选「课程视频套用本系统播放器并显示动态浮水印」后,播放画面上会叠一段小字,每隔几秒换一个角落,全屏幕也跟着。

  • 要显示什么:Email、姓名、手机、学员编号、网站名称、课程名称、观看时间——自由勾选,取不到值的字段会自动略过那一行
  • 自定义文字:可以插入变量,例如 `{name} 专用 · 禁止外流`
  • 文字明显度:越高越难去除,但也越干扰观看。多数人设 30–50% 就够
  • 换位间隔:每几秒跳到下一个角落。设太长容易被裁掉,建议 10 秒内
  • 下方有实时预览,不用真的开一支视频来试

动态浮水印:要显示的内容、自定义文字、明显度、换位间隔与实时预览

改完记得按下方的「保存设置」。

它的用途是吓阻与追查:视频真的外流时,画面上就写着是哪个账号流出去的。

⚠️ 两个要知道的副作用:

  • 为了让全屏幕也有浮水印,Vimeo/YouTube 视频会改用本系统的全屏幕按钮(禁用它们原生的)
  • 未登录的访客没有 Email/姓名/手机/学员编号,所以只会看到「网站名称/课程名称/观看时间」这三项;三项都没勾的话,试看的访客就完全没有浮水印

YouTube 视频要不要藏品牌

另一个独立选项:「启用自制播放器覆盖 YouTube 视频的链接」。勾了之后 YouTube 视频改用自制播放器播放,隐藏 YouTube 标志,源代码里也看不到视频链接。取消勾选则是标准 YouTube 嵌入(会显示 YouTube 品牌与「在 YouTube 上观看」)。

媒体库:图片与文件

「网站内容 → 媒体库」是全站共用的文件柜:课程封面、文章配图、页面素材、可下载的讲义都放这里。

「网站内容 → 媒体库」:上传文件、从旧网站抓图、清理没在用的文件、上传时去背、拷贝网址给 AI、选取

  • 支持格式:图片、PDF、Word、Excel、PowerPoint、zip、txt、csv
  • 上传时去背:勾了之后白底会变透明,适合 Logo 与商品去背图
  • 自动压缩:图片上传时会自动压成 WebP,不必自己转档
  • 复制网址:每个文件都可以拿到直接网址,贴到文章或页面里都行
  • 从旧网站抓图:粘贴旧站网址,把那一页的图片整批抓进媒体库,不必一张张另存再上传
  • 清理没在用的文件:列出没有被任何课程/文章/页面引用的文件,确认后再删

两个省时间的功能

复制全部图片网址给 AI:按右上「选取」勾出这次要用的图 → 「复制选中的网址给 AI」,贴到 ChatGPT/Claude 请它帮你排一页版面时,它就知道有哪些图可用。

压缩省容量:从旧站搬过来的大图常常一张好几 MB。勾选后按「🗜 压缩省容量」会重压成 WebP,网址不变——已经插在文章里的图不会坏掉。

按「选取」后勾选图片,下方出现「复制选中的网址给 AI」与「压缩省容量」

容量上限

后台总览页上方有一条容量进度条,显示「已用 / 上限」。快满的时候会转黄、超过会转红。做法有两个:先用「压缩省容量」清一轮,还是不够再加购(每单位 5GB)。


常见问题

视频费用是谁付? Bunny 是你自己的账户,直接付给 Bunny。平台不抽成也不加价。

已经上传到 YouTube 了,还要重传到 Bunny 吗? 不用。单元可以直接贴 YouTube 网址。等到课程卖得起来、需要更强的保护时再搬。

浮水印会不会影响观看体验? 会一点,这是刻意的。把明显度调到 30% 左右,看得到但不挡内容,通常是可接受的平衡点。

删掉媒体库的图片,文章里的图会坏掉吗? 会。删除前先确认没有页面在用它——网址是直接指向该文件的。

视频可以下载吗? 播放器没有下载按钮。但任何在浏览器播得出来的视频,技术上都有办法被录下来——这就是浮水印存在的理由。

播放器左上角出现 🟡「已退回内置播放器」,视频明明播得出来,要紧吗? 不要紧。Bunny 视频现在一律用 Bunny 内置的播放器播放,这个标签只是告诉你目前看到的是哪一种播放器。用它播放时统计不到观看时数——见上方「想统计『学员到底看了几成』要什么条件」。

学员数据页显示「无法判定观看比例」是什么意思? 该课程里有系统统计不到的单元:某些单元还没有视频长度,或视频是在 Bunny 内置播放器里播放(它不会把播放进度回报给我们)。消息里会列出是哪几个单元卡住。

我改了退款门槛的百分比,之前的学员会被追溯吗? 会用新的百分比去比对,但观看纪录只从你勾选激活的那一刻起才开始累积。没激活时系统完全不记录,所以不会有历史数据可以回溯。要用这个机制,请在开卖前就设置好。


接下来