🔍

操作文件/影片設定與媒體庫

影片設定與媒體庫

影片要放哪裡(Bunny/Cloudflare Stream/YouTube/Vimeo)、防盜錄浮水印怎麼設,以及圖片與檔案的媒體庫用法。

影片是課程網站最貴、也最怕外流的資產。這頁講兩件事:影片放哪裡(設定 → 影片設定),以及圖片與檔案放哪裡(網站內容 → 媒體庫)。

影片設定:填入 Bunny 的 Library ID 與 API Key,下方是浮水印設定與即時預覽

影片的四種來源

每個單元都可以各自選來源,同一門課混用也沒問題。

來源 適合誰 保護程度
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 分頁:

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(上傳影片檔)」:可以直接上傳,也可以從影片庫挑一支已經傳過的。轉檔完成會顯示縮圖,影片長度自動帶進單元。

開了「簽章網址防盜」之後,Cloudflare 影片只能用在課程單元與課程介紹影片。頁面的影片區塊與仿真直播沒有「誰有權看」可以判斷,請改用沒開簽章的影片,或 YouTube/Vimeo。

動態浮水印(防盜錄)

勾選「課程影片套用本系統播放器並顯示動態浮水印」後,播放畫面上會疊一段小字,每隔幾秒換一個角落,全螢幕也跟著。

  • 要顯示什麼:Email、姓名、手機、學員編號、網站名稱、課程名稱、觀看時間——自由勾選,取不到值的欄位會自動略過那一行
  • 自訂文字:可以插入變數,例如 {name} 專用 · 禁止外流
  • 文字明顯度:越高越難去除,但也越干擾觀看。多數人設 30–50% 就夠
  • 換位間隔:每幾秒跳到下一個角落。設太長容易被裁掉,建議 10 秒內
  • 下方有即時預覽,不用真的開一支影片來試

它的用途是嚇阻與追查:影片真的外流時,畫面上就寫著是哪個帳號流出去的。

⚠️ 兩個要知道的副作用:

  • 為了讓全螢幕也有浮水印,Vimeo/YouTube 影片會改用本系統的全螢幕按鈕(停用它們原生的)
  • 未登入的訪客沒有 Email/姓名/手機/學員編號,所以只會看到「網站名稱/課程名稱/觀看時間」這三項;三項都沒勾的話,試看的訪客就完全沒有浮水印

YouTube 影片要不要藏品牌

另一個獨立選項:「啟用自製播放器覆蓋 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 影片現在一律用 Bunny 內建的播放器播放,這個標籤只是告訴你目前看到的是哪一種播放器。用它播放時統計不到觀看時數——見上方「想統計『學員到底看了幾成』要什麼條件」。

學員資料頁顯示「無法判定觀看比例」是什麼意思? 該課程裡有系統統計不到的單元:某些單元還沒有影片長度,或影片是在 Bunny 內建播放器裡播放(它不會把播放進度回報給我們)。訊息裡會列出是哪幾個單元卡住。

我改了退款門檻的百分比,之前的學員會被追溯嗎? 會用新的百分比去比對,但觀看紀錄只從你勾選啟用的那一刻起才開始累積。沒啟用時系統完全不記錄,所以不會有歷史資料可以回溯。要用這個機制,請在開賣前就設定好。


接下來