User guide

CelerCast 使用教學

從安裝到第一次廣播,只需要兩台在同一個校園區網裡的電腦。這一頁照著實際畫面上的按鈕名稱寫,方便現場對照操作。

適用版本:0.4.4 平台:macOS(Apple silicon)/Windows 10、11(x64) 所需時間:約 10 分鐘

1. 開始之前

  • 兩台以上的電腦,接在同一個校園區網。一台當來源(講桌、投影電腦),其他當接收(各教室)。任何一台都可以同時是來源與接收。
  • 接收與控制主機(總機/Hub)不需要另外準備:第一台打開 CelerCast 的電腦就會自動擔任。要長期穩定使用,建議固定由同一台常開的電腦當總機,並給它固定 IP 或 DHCP 保留位址。
  • 瀏覽器:中控台與接收畫面都在瀏覽器裡。Chrome、Edge、Safari 皆可。
  • 不需要網際網路。所有影音與控制都留在區網內。
  • FFmpeg 已內建在安裝包裡,不必另外安裝。

2. 安裝

macOS

  1. 從下載區取得 CelerCast-macOS-arm64-0.4.4.dmg,雙擊打開。
  2. 把 CelerCast 拖進 Applications(應用程式)資料夾。
  3. 到「應用程式」雙擊 CelerCast。本版已用 Apple Developer ID 簽章,但尚未完成 Apple 公證,所以第一次開啟可能出現「無法驗證開發者」的警告,請照下方方法開啟。
第一次開啟被擋時 在 Finder 對 CelerCast 按右鍵 → 打開 → 再按一次 打開。這只需要做一次。

Windows

  1. 從下載區取得 CelerCast-Windows-x86_64-0.4.4.msi,雙擊執行。
  2. 看到 SmartScreen 藍色視窗時,按 其他資訊 → 仍要執行。Windows 版目前尚未程式碼簽章,這個提示是預期的。
  3. 安裝完成後 CelerCast 會自動啟動:瀏覽器開出中控台,右下角系統匣(可能收在「^」裡)出現 CelerCast 圖示;之後也可從桌面或開始功能表的 CelerCast 捷徑再開。
  4. 安裝到 C:\Program Files\CelerCast\,裡面有 CelerCast.exe(桌面程式)、celercast-hub.exe、celercast-node.exe 與 ffmpeg.exe。
  5. 第一次啟動時 Windows 防火牆會詢問是否允許 CelerCast 與 celercast-hub 使用網路,請勾選私人網路並允許。0.4.4 的安裝程式會自動新增只限私人網路的防火牆規則;若仍被擋,需要的埠見第 11 節。

3. 第一次啟動:誰是總機

雙擊 CelerCast 之後不需要任何設定,程式會依序做三件事:

  1. 在區網裡尋找已經在跑的總機(用 UDP 39101 與 mDNS 廣播找)。
  2. 找不到,就把這台電腦當總機,自己啟動接收與控制服務;找到了,就加入那一台的中控台。
  3. 啟動本機的分享程式(Node),然後自動打開瀏覽器到中控台,網址是 http://<總機 IP>:39100/。

所以順序很簡單:先在要當總機的電腦打開 CelerCast,再去各教室的電腦打開。同一區網內後來打開的 Mac 或 Windows 會自動出現在同一個中控台的「裝置」頁。

中控台的網址要記下來 右上角的連線狀態旁會顯示總機資訊。任何一台在區網裡的電腦、平板、手機,用瀏覽器打開同一個網址就能看到同一個中控台,不需要安裝程式。

4. 跨網段:手動指定總機

自動尋找只在同一個網段有效;很多校園交換器也會擋掉多播。症狀是:兩台電腦各自打開了中控台,互相看不到對方。這時候在教室那一端明確指定總機的 IP,指定之後程式會記住,以後雙擊就好。

macOS:用終端機帶一次參數

open -a CelerCast --args -hub 192.168.1.10

Windows:用命令提示字元帶一次參數

"C:\Program Files\CelerCast\CelerCast.exe" -hub 192.168.1.10

只打 IP 即可,程式會自動補上 :39100。你也可以改成設定 CELERCAST_HUB 環境變數,或直接編輯資料夾裡的 desktop.json:

{ "hub": "192.168.1.10" }
平台CelerCast 資料夾(設定與紀錄)
macOS~/Library/Application Support/CelerCast/
Windows%AppData%\CelerCast\(通常是 C:\Users\你的帳號\AppData\Roaming\CelerCast\)
指定之後就不會再自己當總機 這是刻意的:指定的總機暫時連不上時,程式會持續重試、不會另開一個孤立的本機中控台,避免整棟樓被分成兩半。要取消指定,把 desktop.json 裡的 hub 清空即可。

總機那一台如果有多張網卡(例如同時接有線與無線),可以用 -advertise 192.168.1.10 指定要告訴各教室連哪一個 IP。

5. 認識中控台

頁籤用途
總覽正在播送、裝置在線、正在接收三個數字,以及每條進行中廣播的預覽格。沒有廣播時會直接提供「建立第一個廣播」按鈕。
廣播指派建立、啟用、停用、刪除廣播。一條指派=一個來源送到一組教室。
裝置每台連上來的電腦:名稱、角色、狀態、位址、輸入選擇與畫質設定。
群組把常一起接收的教室放成一組,建立廣播時只需勾一次。

右上角的圓點是中控台與總機的連線狀態:綠色為正常。整份狀態每次都是完整同步,不會有「少了一台卻沒提示」的情形。

6. 裝置:改名、選螢幕、調畫質

到 裝置 頁,每台電腦一列。

  • 改名:點名稱即可輸入,例如「三年二班」。改過之後裝置自己回報的型號不會再蓋掉它。
  • 位置:可另外填實體位置,例如「三樓 301 教室」,方便現場找機器。
  • 輸入選擇:兩個下拉選單,一個選要送哪一顆螢幕,一個選要送哪個聲音來源。預設「(自動選擇)」的規則是:螢幕優先挑非主螢幕(通常就是投影機那一顆),聲音優先挑系統聲音而不是麥克風。這是為了保護講桌主螢幕上的信箱與成績。
  • 畫質設定:有 720p30・3 Mbps、1080p30・6 Mbps、1080p30・8 Mbps、1080p60・12 Mbps 幾個預設。位元率是最重要的一格:30 間教室同時收 8 Mbps 就是 240 Mbps,會塞爆交換器的上聯;一般投影片與講課用 720p30・3 Mbps 就夠。
裝置不在線也可以先設定 輸入與畫質的選擇會記在總機上,那台裝置下次連上來會自動套用。畫面上會提示「設定已記下」。
指定的螢幕不見了,不會偷換 如果你指定了第二顆螢幕,而投影機被拔掉或簡報結束,廣播會停在「等待投影開始」,不會自動改送主螢幕。螢幕接回來就自動恢復,不必再點一次。

7. 螢幕與聲音的權限

macOS

第一次當來源時,macOS 會跳出「螢幕錄製」與「麥克風」的權限詢問,請允許。如果當時按了拒絕,之後的症狀是有連線但沒有畫面,而且不會有錯誤訊息;中控台的裝置狀態會提示這一點。手動開啟的位置:

系統設定 → 隱私權與安全性 → 螢幕錄製 → 把 CelerCast 打開,然後重新打開 CelerCast。

要分享 Mac 的系統輸出聲音(例如影片的聲音)仍需要安裝虛擬音訊裝置;只分享麥克風則不用。

Windows

畫面擷取不需要額外權限。要分享系統聲音需要音效卡提供「立體聲混音」或安裝虛擬音訊輸入;沒有的話聲音下拉選單裡只會有麥克風。

分享端一定要有人登入桌面 螢幕擷取需要有桌面的登入 session。鎖定畫面、還沒登入、或用遠端桌面斷開的電腦,畫面會安靜地變黑。

8. 建立第一個廣播

  1. 在 總覽 按 + 新增廣播(或在 廣播指派 按 + 新增指派)。
  2. 名稱:例如「全樓廣播」或「週會」。
  3. 來源:選要分享畫面的那台電腦。
  4. 送到哪些教室:勾選接收的電腦或群組。
  5. 方式:保持預設的 中繼扇出(總機轉送,一份上行、多份下行,適合多間教室)。直連 是接收端直接連來源、總機不碰媒體,只適合一對一,且不能在中控台詳看。
  6. 確認 啟用 有勾,按 儲存。

儲存後幾秒內:來源開始送流;每台被指派的接收電腦會自動打開瀏覽器到接收畫面(receiver.html)。接收畫面會自動開始播放(先靜音),不需要有人操作;因為瀏覽器不允許網頁自己出聲,要聽到聲音時點一下畫面,或按 開始播放(含聲音)(會進入全螢幕)。

要暫停廣播,在 廣播指派 把該條的 啟用 取消;要結束就刪除那條指派。停用時總機會通知每一台接收端關閉播放。

一台電腦同一時間只當一條廣播的來源、一條廣播的接收 同一台可以同時當 A 廣播的來源、又當 B 廣播的接收;但不要讓它同時是兩條廣播的來源(或兩條的接收),後建立的那條會蓋掉先前的,而中控台不會提示。要換廣播,先停用舊的那條。

9. 教室群組

到 群組 頁按 + 新增群組,取名(例如「三樓全部」),勾選成員。建立廣播時在「送到哪些教室」直接勾群組即可。群組成員之後有增減,已存在的廣播會跟著更新。

10. 監看與詳看

  • 總覽 的每一格會顯示來源的縮圖(約每秒更新一次)與接收數。
  • 按 詳看 會在中控台裡直接播放那條廣播的畫面與聲音。這是從總機直接拉的即時流,延遲約 1–5 秒,適合確認「畫面到底有沒有出去」。
  • 總覽 每格下方會顯示來源實際送出的解析度、位元率與正在接收的台數,可以拿來對照畫質設定有沒有生效。

11. 防火牆與埠

只有總機需要對區網開放連入埠;來源與接收端都是主動往總機連,不需要對它們開埠。

埠協定用途誰要開
39100TCP中控台網頁、API、控制 WebSocket總機
39101UDP同一區網自動尋找總機總機
5353UDPmDNS(自動尋找的另一條路,被擋也不影響啟動)總機
39200–39299TCP中繼輸出,每條廣播用一個埠,接收端連這裡總機
39300–39399TCP來源推流接入,每條廣播用一個埠,來源連這裡總機

Windows 總機如果第一次啟動時沒有按「允許」,可以用系統管理員身分執行下面這段一次開好(規則限定 CelerCast 的程式與私人網路):

netsh advfirewall firewall add rule name="CelerCast Hub TCP" dir=in action=allow protocol=TCP localport=39100,39200-39399 program="C:\Program Files\CelerCast\celercast-hub.exe" profile=private
netsh advfirewall firewall add rule name="CelerCast Hub UDP" dir=in action=allow protocol=UDP localport=39101,5353 program="C:\Program Files\CelerCast\celercast-hub.exe" profile=private

這段埠刻意避開 8080、27200 這類常被開發工具佔走的埠,也避開 macOS 的臨時埠範圍(49152 起),減少「昨天好好的今天連不上」。

12. 疑難排解

CelerCast 的設計原則是「症狀要看得懂」,但下面這幾個仍然是現場最常見、而且沒有錯誤訊息的狀況。先看中控台的 裝置 頁狀態欄,再對照這張表。

症狀最可能的原因怎麼處理
教室電腦打開 CelerCast 後,出現的是另一個空的中控台跨網段,或交換器擋掉多播,自動尋找失敗依第 4 節手動指定總機 IP;指定後它會關掉自己那個本機總機
裝置有連上,來源狀態是「串流中」,但接收端黑畫面macOS 沒給螢幕錄製權限(ffmpeg 不會報錯,只是一張都不吐)依第 7 節開權限,重開 CelerCast
接收端顯示「已連線」但沒畫面,總機紀錄看起來一切正常中繼埠被別的程式佔走(常見是殘留的 adb forward);總機仍綁得起來,但連線被別人接走在總機查 lsof -nP -iTCP:39200(macOS)或 netstat -ano | findstr 3920(Windows),關掉佔用的程式後停用再啟用該條廣播
廣播狀態停在「等待投影開始」指定的第二顆螢幕目前不存在接上投影機或把輸入改回「(自動選擇)」;這是刻意不偷換成主螢幕
接收畫面有影像沒聲音畫面還在靜音(尚未點一下開啟聲音),或來源聲音選到沒有訊號的裝置在接收畫面點一下畫面;到裝置頁把來源的聲音改成系統聲音或正確的麥克風
畫面每隔幾秒卡一下、然後又乾淨地回來網路頻寬不足,總機把積壓的影格整批清掉並向來源要新的關鍵影格把來源畫質降到 720p30・3 Mbps;檢查是否有教室走 Wi-Fi
接收端一直重連一個已經不存在的廣播刪除廣播時那台電腦剛好離線重開該台的 CelerCast;總機重新連上時會對帳並停掉過期的指派
總機那台換了 IP 之後大家都連不上總機用 DHCP 拿到新位址,執行中不會自動搬移給總機固定 IP 或 DHCP 保留;重開總機的 CelerCast,各教室再重開一次

紀錄檔在哪裡

CelerCast 資料夾(位置見第 4 節)裡有三個檔:desktop.log(桌面程式)、hub.log(總機服務,只有當總機的電腦才有)、node.log(本機分享與接收)。回報問題時附上這三個檔最有用。

13. 停止、自動啟動與移除

停止

關掉瀏覽器不會停止服務,這是刻意的,避免有人不小心關掉分頁就讓全樓斷播。要真正停止,執行:

# macOS
open -a CelerCast --args -stop

# Windows
"C:\Program Files\CelerCast\CelerCast.exe" -stop

開機自動啟動(進階)

執行檔會把自己設成自啟,不需要額外的安裝腳本。總機用系統服務(開機就跑、不必登入),教室電腦用「使用者登入」自啟(因為螢幕擷取需要有桌面的 session):

# 總機(macOS 範例,需要管理員密碼)
sudo /Applications/CelerCast.app/Contents/Resources/celercast-hub -state /var/lib/celercast/state.json install

# 教室電腦(macOS 範例)
/Applications/CelerCast.app/Contents/Resources/celercast-node -hub 192.168.1.10 install

# 查狀態/移除自啟
celercast-node status
celercast-node uninstall

Windows 對應的程式在 C:\Program Files\CelerCast\,並需以系統管理員身分執行 install。

移除

  • macOS:先執行 -stop,把「應用程式」裡的 CelerCast 拖到垃圾桶,再刪除 ~/Library/Application Support/CelerCast/。
  • Windows:設定 → 應用程式 → CelerCast → 解除安裝,再刪除 %AppData%\CelerCast\。

14. 核對下載檔

每次正式發布都會公開 SHA-256 清單。核對方式:

# macOS
shasum -a 256 ~/Downloads/CelerCast-macOS-arm64-0.4.4.dmg

# Windows(PowerShell)
Get-FileHash "$env:USERPROFILE\Downloads\CelerCast-Windows-x86_64-0.4.4.msi" -Algorithm SHA256

算出來的值要與清單上同一個檔名的那一行完全相同。

回到下載區