首頁
XtreamUIPro

設定指南

教育與培訓設定指南

將平台設定為學校、培訓機構或大學的課程影音服務:課程資料庫、學生存取權、直播課堂與 LMS 整合。

這些指南將產業的概念對應到平台目前具備的物件(頻道包、線路、方案、合作夥伴帳號、節點、API)。這些是概念上的對應,並非產業專屬功能,而且合作夥伴帳號是委派帳號,不是隔離的租戶。

概念對應

面板中沒有任何東西叫做課程或學生。此表說明哪個物件扮演哪個角色;以下各章依此順序進行設定。

在您的產業中在平台上在面板中的位置
培訓中心或通路合作夥伴合作夥伴帳號(經銷商):具備點數、權限與自己線路的委派 dashboardUsers → 新增經銷商;其權限在 Groups 設定
課程集頻道包(bouquet):由方案授予的一組具名頻道、電影或影集Bouquets,由 Streams 與 Movies / Series 建立
錄製課程VOD 內容目錄:電影與含季和集的影集、分類與中繼資料Movies 與 Series,或 VOD 匯入工作
直播課堂直播頻道:含來源、EPG 與輸出格式的串流Streams → 新增直播串流(來源 URL 或 RTMP 推流)
學生存取權線路:一份存取權,含其方案、頻道包、到期日、連線數上限與輸出Lines → 新增,或使用啟用碼,或 Reseller API
課程存取期間線路的到期日,可由方案、點數或 API 續期線路的到期日與方案的期限
同時連線數上限線路的最大連線數:可同時觀看的裝置數量線路的最大連線數
LMS 或商務整合Reseller API 與 webhook:從您自己的系統執行面板的各項操作經銷商 dashboard 中的 Reseller API 金鑰與 webhook

前置條件

安裝前需要準備的項目。

  1. 校園網路上的一台 Linux 伺服器(Ubuntu 22.04 或 24.04),由安裝程式安裝 Postgres、Redis 與 ffmpeg,並準備好面板與播放器使用的網域或內部位址。
  2. 要發布的錄影(檔案,或可推送 RTMP 的錄影系統),以及直播課堂時,每間要串流的教室需有一台編碼器。
  3. 授權金鑰:免費方案不需要;符合資格的機構可從學術網域以電子郵件申請免費的 Professional 金鑰。

基礎架構部署

先安裝管理伺服器,再為每棟建築安裝一個節點。

  1. 在管理伺服器上執行安裝程式;它會把面板、API、worker 與來源伺服器安裝為 systemd 單元,並建立第一位管理員。
  2. 設定 API 的公開 URL(API_PUBLIC_URL)與播放基底網址,讓播放器連結指向校園位址。
  3. 對每棟有廳舍要觀看的建築,從 Servers → 新增節點登錄一個節點;面板會依節點套件透過 SSH 安裝它。
  4. 檢查 Servers 頁面:節點會回報心跳與流量,該建築的觀眾會被導向它。

內容整理

課程作為影集,學程作為頻道包與方案。

  1. 在 Movies / Series 下,為每個學院或科目建立一個分類。
  2. 將每門課程新增為一部影集:每個單元一季、每堂課一集,並以錄影作為來源(上傳或使用 VOD 匯入工作)。
  3. 從您新增的影集中,為每個課程集建立一個頻道包(例如某學程在一個學期的課程)。
  4. 為每個學程建立一個方案:它授予的頻道包、作為期限的存取期間,以及同時連線數上限。

合作夥伴(經銷商)設定

將培訓中心或學院作為委派帳號。

  1. 在 Groups 下建立一個群組,授予該中心所需的權限(可管理自己的線路,不能變更內容目錄)。
  2. 在 Users 下將該中心新增為經銷商,指定該群組、點數餘額,以及它可發放的方案。
  3. 將 dashboard 位址提供給它;它從那裡管理自己的學生,而面板會保留稽核記錄。

學生存取權設定

每位學生一條線路,於註冊時建立。

  1. 人數較少的班級,可從 Lines → 新增,指定該學程的方案來新增線路;到期日隨方案期限。
  2. 註冊日當天,為方案產生啟用碼;學生在播放器中兌換啟用碼即可取得一條線路。
  3. 對於學生系統或 LMS,建立一把 Reseller API 金鑰,讓系統以 action=create_line 建立線路,並為每位學生附上一個請求 ID。
  4. 將最大連線數設為學生可同時使用的裝置數;超出的下一個連線會被播放器拒絕。

VOD 設定

隨選的錄製課程。

  1. 將每份錄影上傳為某一集的來源,或讓 VOD 匯入工作指向該檔案,由 worker 下載並編碼到媒體根目錄。
  2. 手動填寫中繼資料(標題、說明、海報),公開素材也可從 TMDB 取得;課程通常只需要標題與說明。
  3. 使用測試線路在網頁播放器中檢查播放;連結已簽章,並在設定的時間後過期。

教室直播串流

將一堂講課作為直播頻道。

  1. 在 Streams 下新增一個直播串流,以教室的編碼器作為來源(RTMP 推流位址或拉取 URL)。
  2. 將該串流放進課程的頻道包,讓只有已註冊的學生能看到;若您有課表,請把它加入 EPG。
  3. 若學生可事後觀看課堂,請在該串流上啟用回看或時移;錄影也可以上傳為一集。

訂閱與存取到期

隨課程結束而終止的存取權。

  1. 將存取期間設為方案的期限;由它建立的線路會在該期間結束時到期。
  2. 新學期時,可從面板使用該中心的點數為線路續期,或透過 API 以 action=renew_line 續期。
  3. 讓您的系統訂閱 webhook:當線路即將到期、已到期或被停用時,系統會收到通知。

與外部 LMS 整合

由 LMS 控制存取權;由播放器負責播放。

  1. 為 LMS 建立一把 Reseller API 金鑰;請儲存在 LMS 的機密資料中,絕不要放在網頁裡。
  2. 學生註冊時,LMS 以該學程的方案與一個請求 ID 呼叫 action=create_line;退課時呼叫 action=disable_line。
  3. 從 LMS 的課程頁面連結到網頁播放器,或把播放器憑證交給學生;兩者之間沒有單一登入。

安全考量

讓服務留在機構內部。

  1. 為每個面板帳號啟用雙重驗證登入,並只給職員可行的最小權限群組。
  2. 將學生個人資料儲存在學生系統中;線路只需要名稱與到期日。
  3. 將最大連線數維持在低水準,並考慮將播放綁定到觀眾的位址以防止分享。
  4. 開啟加密的資料庫備份;若有 S3 相容儲存,也開啟異地副本。

疑難排解

常見的初步檢查。

  1. 學生無法登入:先檢查線路的到期日與是否已啟用,再檢查方案與該課程的頻道包。
  2. 錄影無法播放:先在 Jobs 頁面檢查匯入工作的結果,再檢查媒體根目錄中的檔案與簽章連結的到期時間。
  3. 某棟建築的觀眾連到了來源伺服器:檢查節點的心跳,以及觀眾的位址是否落在該節點的路由範圍內。
  4. API 拒絕了呼叫:檢查金鑰、該動作的方法(寫入操作為 POST),以及重試呼叫的請求 ID。