如何透過 RTMP 設定 Jitsi Meet 直播到 YouTube

Jitsi Meet 本身不會將會議傳送到 YouTube:對於自架的 Jitsi,通常使用內建的 Jibri 服務,它會捕獲會議並使用串流密鑰將其串流傳輸到 YouTube。如果您只需要一個快速的活動,可以使用 OBS 等桌面編碼器來捕獲 Jitsi 與會者的視窗並將其發送到 YouTube。正確的選擇取決於誰來運行編碼器、您是否需要疊加層和精細控制,以及您是否能夠操作 Jibri 服務。

本指南涵蓋兩種部署方式,首先介紹自架的 Jibri 設定。本指南適用於自架 Jitsi Meet 部署的管理員。託管的 Jitsi 服務可能無法提供直播功能;Jibri 是否可用由其運營商控制。 YouTube 目前要求頻道已驗證,且在過去 90 天內沒有直播限制。首次啟動可能需要一些時間,因此請在活動日之前確認頻道是否符合要求。

哪一種直播方式最適合您的活動?

路線最佳匹配主要權衡
Jitsi 與 Jibri可重複使用的自架會議工作流程,主持人透過 Jitsi 介面啟動會議流程。需要伺服器端部署 Jibri,並具備足夠的 CPU、記憶體和網路容量。 Jitsi 管理員必須負責維護。
示範電腦上安裝了 Jitsi 和 OBS。一次性活動、品牌佈局、標題卡、疊加層、本地場景,或對編碼器和採集協議的更多控制。需要一台專用電腦和一名操作員。會議內容必須對錄製系統保持可見和可聽狀態,因此電腦的上傳連線至關重要。
錄製,然後上傳不需要即時觀眾或線上聊天的演講。不會創建即時活動,但會給你時間在發布前編輯和檢查最終錄製內容。

對於需要主持人啟動會議直播的託管式自架部署,請使用 Jibri。如果生產控製或明確的 RTMPS 配置比一鍵式工作流程更重要,請選擇 OBS。 YouTube 建議使用 RTMPS 進行加密傳輸;Jibri 的內建工作流程和可用輸出選項可能因版本而異,因此請確認您安裝的版本支援的傳輸方式。如果您無法驗證 Jibri 設定是否支援 RTMPS,請使用可公開 YouTube 傳輸 URL 和協定的編碼器。

Jibri 的功能是什麼?它需要消耗多少資源?

Jibri 是 Jitsi 的廣播和錄製組件。它會為會議打開一個瀏覽器會話,捕獲渲染後的音頻和視頻,並將結果編碼後上傳到串流媒體服務。它並不在 Jitsi Videobridge 的媒體路由功能內運作。 Jibri 專案表示,它旨在運行在獨立的機器或虛擬機器上,並且不會有其他應用程式使用其顯示器或音訊設備。此外,一個 Jibri 實例一次只能支援一個錄製任務。因此,它更適合用於規劃周密、管理有序的活動,而不是偶爾在負載較高的伺服器上運行串流媒體。

OBS 無需在 Jitsi 伺服器堆疊中新增 Jibri,而是將擷取和編碼工作轉移到演示者的電腦上。如果您已經擁有活動工作站,這可能更經濟,但會帶來本地運維依賴:操作員必須維護會議視窗、音訊路由、編碼器和網路連接的正常運作。 Jibri 主機可以集中管理這些職責,但需要進行伺服器設定和維護。

設定 Jibri 以進行自架 Docker 部署

Jitsi 的 Docker 手冊會不時更新。請使用與您已安裝版本相符的 Compose 檔案和環境範例;切勿將不相關分支或舊教學課程中的設定複製到生產環境中。以下步驟假設您已成功安裝並執行 Docker Compose Jitsi Meet,並擁有對其主機的管理權限。

1. 檢查 YouTube 和部署先決條件

在 YouTube 工作室中,確認頻道可以直播,並建立或安排編碼器串流。 YouTube 目前的幫助頁面指出,已驗證且過去 90 天內沒有直播限制的頻道可以進行直播。在直播設定中,找到伺服器 URL 和直播金鑰。請像對待密碼一樣對待直播密鑰:任何擁有它的人都可能向該直播串流廣播。

確認您的 Jitsi Meet URL 可透過 HTTPS 公開訪問,並且主持人及 Jibri 可以解析並存取所需的服務。建議在正式公開活動前安排一次測試會議。如果您使用的是 Jitsi 主機服務供應商,請諮詢其管理員是否已啟用 Jibri 直播功能;您無法透過變更瀏覽器設定來啟用此功能。

2. 在 Docker Compose 中啟用 Jibri 服務

在包含現有 Jitsi Compose 檔案的目錄中,檢查該.env檔案並確認 Jibri 錄製/直播選項已啟用。目前的 Docker 手冊中ENABLE_RECORDING=1將此選項描述為啟用錄製和直播功能。對於標準部署,請將 Jibri Compose 檔案新增至相同命令中,並包含您的安裝所需的任何額外 Compose 覆蓋:

docker compose -f docker-compose.yml -f jibri.yml up -d

如果您的部署依賴其他覆蓋文件,請勿執行該簡化命令;jibri.yml而應將其新增至您的常規 Compose 命令。官方 Jitsi Docker 指南也提到了 Jibri 儲存目錄和寫入權限。在變更權限之前,請查閱版本相符的手冊以了解目前的目錄版面。現有部署可能使用不同的佈局。

確保 Jibri 的內部 XMPP 使用者、密碼和釀造廠設定在整個 Web、Prosody、Jicofo 和 Jibri 配置中保持一致。 Compose 專案提供了用於儲存這些值的變數。設定服務時,請依照部署文件中的步驟產生強內部密碼,並保護環境變數檔。切勿在未協調相應組件配置的情況下,在運行中的部署中重複產生密碼。

3. 確認 Jibri 是否可用

容器啟動後,檢查其狀態和日誌。例如,使用標準的 Docker Compose 服務名稱:

docker compose ps
docker compose logs --tail=100 jibri

具體的服務名稱和日誌輸出可能因版本而異。請檢查 Jitsi Meet、Jicofo、Prosody 和 Jibri 的日誌,尋找 XMPP 驗證或 brewery/MUC 發現錯誤。當有效的 Jibri 裝置已在 Jicofo 註冊後,會議介面即可提供直播控制功能。如果使用者介面顯示串流服務不可用,輸入 YouTube 金鑰也無法修復底層 Jibri 連線問題。

在 YouTube 上開啟 Jitsi Meet 直播

4. 建立 YouTube 串流並保護其金鑰

在 YouTube 工作室中,選擇「建立」→「開始直播」,然後建立或安排編碼器串流。從直播控制室複製串流密鑰。 YouTube 流密鑰是編碼器的目標憑證;請勿將其貼上到公共會議聊天記錄、命令歷史記錄、螢幕截圖或共享設定檔中。如果密鑰洩露,請在 YouTube 工作室中輪換密鑰並更新編碼器。

Jibri 的正常 Jitsi 工作流程會在偵測到可用的 Jibri 裝置後提示管理員輸入流程金鑰。 Jibri API 也描述了用於其串流媒體操作的 YouTube 串流密鑰參數。如果您使用自訂 Jibri 集成,請務必遵循已部署版本的 API 和存取控制規範,而不是隨意編寫端點呼叫。

5. 開始直播前,請先確認預覽效果。

以主持人身分加入會議,開啟會議控制介面,如果可用,請選擇直播功能。在提示框中輸入 YouTube 直播金鑰,然後開始直播。在 YouTube 直播控制室中,等待預覽畫面加載完畢,並確認音訊和視訊均正常後再選擇「開始直播」。不同 Jitsi 版本或自訂介面中的按鈕標籤可能有所不同。

首先進行測試,建立一個非公開直播串流,並使用包含肢體動作和語音的簡短會議。檢查發言者音量平衡、共享螢幕清晰度以及參與者頭像是否按預期裁剪。 YouTube 會自動將相容的編碼器輸入轉碼以適應觀眾設備,但乾淨的輸入來源和可靠的上傳路徑仍然至關重要。在測試和活動期間,請密切注意 YouTube 的直播串流健康指標。

需要更多控制時,請使用 OBS。

使用 OBS,在專用電腦上加入 Jitsi 會議,錄製會議視窗或選定的場景,然後在 OBS 的串流設定中設定 YouTube 伺服器 URL 和串流金鑰。如果需要隱藏會議控制項、通知或與會者的私密訊息,請在活動開始前建立並測試一個乾淨的場景。僅錄製您有權直播的內容,並告知與會者他們的音訊或視訊可能會被直播。

OBS 可讓您控制佈局、疊加層、音訊來源和輸出設定。 YouTube 目前的編碼器指南支援 RTMP/RTMPS 傳輸,並建議使用 RTMPS 進行加密連線。對於 1080p30 的 H.264 視頻,YouTube 建議的比特率為 14 Mbps;對於 720p30,建議的比特率為 8 Mbps。這些是目標編碼器設置,並非保證的視訊品質。請為其他流量預留上傳頻寬,如果連線無法穩定傳輸,請選擇較低的解析度或位元率。

Jibri 配置完成後對主持人來說更簡單,並且會將錄製內容保存在伺服器上,但它在基本會議流程中提供的製作控制較少。 OBS 更靈活,可以更輕鬆地選擇特定的錄製 URL 或添加圖形,但需要操作員進行監督。兩種方法各有優劣:Jibri 適用於集中式的定期活動;OBS 適用於客製化製作或需要即時錄製和場景控制的情況。

如果視訊串流無法開始播放,該檢查什麼?

  • 直播串流控制功能缺失:請確認部署是否已啟用直播串流,以及 Jibri 是否已註冊且處於空閒狀態。對於 Docker,請驗證版本匹配ENABLE_RECORDING設定以及 Jibri Compose 服務是否正在執行。
  • Jitsi報告串流播放不可用:請檢查Jibri日誌及其XMPP連線、內部憑證、Brewery MUC和儲存存取權限。問題通常出在Jitsi的控制組件和Jibri之間,在YouTube接收到任何影片之前。
  • YouTube 未收到訊號:請確認正確的串流金鑰和目標串流,然後檢查執行編碼器的電腦的出站連線。輪換使用已暴露或不確定的密鑰。
  • YouTube 可以顯示預覽,但畫面卡頓:降低輸出解析度或位元率,檢查編碼器主機的 CPU 使用率,並測試持續上傳頻寬。對於 Jibri,檢查主機負載;對於 OBS,檢查編碼器丟幀情況和網路狀態。
  • 視訊無聲:請檢查 Jitsi 參與者音訊、系統音訊擷取以及所選編碼器音訊裝置。活動開始前,請使用語音音訊進行測試。

活動前檢查清單

  • YouTube 頻道符合條件,且直播控制室中已開啟正確的直播活動。
  • Jibri 已準備就緒,或 OBS 電腦和操作員已準備就緒。
  • 流密鑰是私有的,並且屬於目標事件。
  • 測試預覽顯示語音清晰、視訊穩定、佈局易讀。
  • 至少有一名組織者可以監控 YouTube 直播串流的運作狀況,並在活動結束時停止編碼器。

官方參考資料

留下評論

如何在 BigBlueButton 中設定自動錄製清理

如何在 BigBlueButton 中設定自動錄製清理

使用 cron 任務、保留規則、日誌和驗證功能,設定安全的 BigBlueButton 自動化錄製清理機制。比較原始資料清理和完整錄製刪除的效果。

如何透過 RTMP 設定 Jitsi Meet 直播到 YouTube

如何透過 RTMP 設定 Jitsi Meet 直播到 YouTube

比較 Jibri 和 OBS 在將 Jitsi Meet 直播到 YouTube 方面的效能,然後配置正確的路由,安全地使用您的直播金鑰,並驗證即時預覽。

BigBlueButton 與 Jitsi Meet:資源使用與功能矩陣

BigBlueButton 與 Jitsi Meet:資源使用與功能矩陣

透過記錄伺服器規模、記錄成本、教學工具、可擴展性以及選擇或調整自架部署規模的實用指標,比較 BigBlueButton 和 Jitsi Meet。

使用 OCC 修復 Nextcloud 維護模式卡住的問題

使用 OCC 修復 Nextcloud 維護模式卡住的問題

使用 OCC 安全地清除卡住的 Nextcloud 維護頁面,檢查升級是否未完成,並驗證實例是否已準備好供使用者使用。

修正 Zimbra 出站郵件延遲問題:“連線逾時,連接埠 25”

修正 Zimbra 出站郵件延遲問題:“連線逾時,連接埠 25”

診斷 Zimbra 出站郵件延遲錯誤(連接埠 25)。檢查佇列、MX DNS、防火牆、提供者阻止,並設定已核准的 SMTP 中繼。

如何在樹莓派 4 上使用 Conduit 設定 Matrix 伺服器

如何在樹莓派 4 上使用 Conduit 設定 Matrix 伺服器

在 Raspberry Pi 4 上建立一個輕量級的 Matrix 家庭伺服器,包含 Conduit、Docker、NGINX、HTTPS、註冊控制、聯合身份驗證和檢查功能。

如何設定 Jitsi Videobridge 以適應大規模多伺服器環境

如何設定 Jitsi Videobridge 以適應大規模多伺服器環境

將 Jitsi Videobridge 伺服器新增到共用的 Jitsi Meet 部署中,配置註冊和防火牆訪問,驗證橋接選擇,並了解何時需要 Octo。

如何在 Zimbra 伺服器上安裝商業 SSL 憑證

如何在 Zimbra 伺服器上安裝商業 SSL 憑證

在 Zimbra 上安全地安裝商業 SSL 憑證:建立 CSR、建置 CA 鏈、驗證金鑰和憑證、部署、重新啟動服務並確認 HTTPS。

如何自訂 BigBlueButton 介面和徽標

如何自訂 BigBlueButton 介面和徽標

更改預設的 BigBlueButton 徽標,為單一會議添加徽標,並了解何時更廣泛的介面品牌化需要自訂客戶端建置。

如何安全地清除 Zimbra 稽核日誌以釋放磁碟空間

如何安全地清除 Zimbra 稽核日誌以釋放磁碟空間

了解如何識別、歸檔、壓縮和刪除舊的 Zimbra 稽核日誌,何時避免截斷 audit.log,以及如何驗證磁碟空間和日誌記錄是否正確復原。