OBS Studio
隨附於 Macro Deck切換場景,控制串流、錄製和音訊,並對 OBS Studio 中發生的事情做出反應。
「連線到 OBS Studio」對話方塊,含設定名稱、主機、連接埠和密碼
- 切換場景、設定檔和場景集合
- 開始和停止串流、錄製、重播緩衝區和虛擬攝影機
- 將輸入靜音、設定音量,以及切換來源和濾鏡
- 場景、時間碼、FPS 和丟棄影格的即時變數
- 同時連線多個 OBS 執行個體
OBS Studio 整合會透過 OBS 內建的 WebSocket 伺服器 (obs-websocket 5) 將 Macro Deck 連線到 OBS。連線後,按鈕幾乎可以控制直播期間在 OBS 中進行的所有操作,而 OBS 會回報每一項變更,因此面板一律會顯示目前的狀態。
可以做什麼
- 切換節目場景、工作室模式的預覽場景、設定檔或場景集合。
- 開始、停止或切換串流、錄製、重播緩衝區和虛擬攝影機,儲存重播、暫停錄製、分割錄製檔案或加入章節標記。
- 在場景中顯示或隱藏來源、啟用或停用濾鏡、將輸入靜音,或以百分比或 dB 變更其音量。
- 變更來源的設定,例如文字來源的文字、圖片或媒體來源的檔案,或瀏覽器來源的 URL。
- 依名稱開始和停止任何 OBS 輸出,包括外掛程式新增的輸出。
設定範例:
- BRB 按鈕會切換到 BRB 場景,並將麥克風靜音。
- 錄製 按鈕會切換錄製,並顯示 OBS 正在錄製、已暫停或已停止。
- 將滑桿繫結到音樂輸入的
obs_<input>_volume變數,移動滑桿就會變更 OBS 中的音量。 - 一個在 OBS 回報 串流已開始 時執行的流程,會傳送通知。
運作方式
Macro Deck 會監聽 OBS 傳送的事件,因此在 OBS 中變更後,目前場景、靜音狀態和濾鏡狀態等變數會在不到一秒內更新。切換按鈕會在其狀態啟用時亮起,在 OBS 本身中變更時也一樣。FPS、CPU 使用率、位元速率和丟棄的影格等統計資料每一到兩秒讀取一次。
除了固定的變數之外,變數選擇器還會列出已連線 OBS 的每個輸入、場景、場景項目和濾鏡,以及其音量、靜音狀態、可見性或啟用狀態。觸發器會對場景變更、錄製和串流變更、已儲存的重播和螢幕畫面、輸入變為使用中,以及自己的 OBS 指令碼廣播的自訂事件做出反應。
可以新增多個設定,例如直播電腦一個、遊戲電腦一個。每個設定都有自己的一組變數,而每個動作都有 設定 欄位,用來選擇要控制哪個 OBS。OBS 關閉或網路中斷時,Macro Deck 會持續嘗試重新連線,並觸發 已中斷連線 和 已連線 觸發器。
需要準備
- 在 Windows、macOS 或 Linux 上執行的 Macro Deck 3
- OBS Studio 28 或更新版本(內含 obs-websocket 5)
- 已在 OBS 的 Tools > WebSocket Server Settings 下開啟 WebSocket 伺服器
- 依名稱開始和停止輸出需要 obs-websocket 5.7 或更新版本
開始設定
步驟 1: 在 OBS 中開啟 WebSocket 伺服器
在 OBS 中開啟 Tools > WebSocket Server Settings,並勾選 Enable WebSocket server。記下 Server Port(預設為
4455)。如果已勾選 Enable Authentication,請按一下 Show Connect Info 查看密碼。步驟 2: 在 Macro Deck 中開啟 OBS Studio
在 Macro Deck 的側邊欄中按一下 整合,然後按一下 OBS Studio。在 概覽 分頁的 設定 區段中按一下 新增設定。開啟右上角的開關也會開啟相同的對話方塊,設定完成後此整合就會啟用。
步驟 3: 輸入連線詳細資料
填寫 連線到 OBS Studio 對話方塊:
- 設定名稱:自行選擇的名稱,例如
Streaming PC。 - 主機:OBS 在同一台電腦上執行時為
127.0.0.1,否則為執行 OBS 的電腦的 IP 位址。 - 連接埠:OBS 中的伺服器連接埠,預設為
4455。 - 密碼:OBS 中的密碼。如果已關閉驗證,請留空。
按一下 繼續。Macro Deck 會在儲存設定前測試連線。
- 設定名稱:自行選擇的名稱,例如
步驟 4: 在按鈕上加入 OBS 動作
在 面板 頁面上按一下要使用的按鈕。面板必須處於解鎖狀態:右上角的按鈕顯示 鎖定 時,即表示已解鎖。編輯器開啟時會選取 短按。按一下 + 新增動作,在 新增動作 對話方塊左側選擇 OBS Studio,然後選擇一個動作,例如 設定場景。選擇 設定 和 場景,然後按一下 儲存。
步驟 5: 按下按鈕
在手機、平板或網頁用戶端上按下按鈕,OBS 就會切換到所選的場景。如果沒有反應,請確認 OBS 正在執行,且 整合 下的 OBS Studio 頁面中,該設定顯示為 已連線。
動作35
可放在按鈕上,或從流程中執行。
- 設定場景
- 切換使用中的節目場景。
- 設定預覽場景
- 切換工作室模式的預覽場景。
- 設定設定檔
- 將 OBS 切換到另一個設定檔。
- 設定場景集合
- 將 OBS 切換到另一個場景集合。
- 開始錄製
- 開始錄製。
- 停止錄製
- 停止錄製。
- 切換錄製
- 開始或停止錄製,並顯示 OBS 正在錄製、已暫停或已停止。
- 暫停/繼續錄製
- 暫停或繼續目前的錄製。
- 開始串流
- 開始串流。
- 停止串流
- 停止串流。
- 切換串流
- 開始或停止串流。
- 開始虛擬攝影機
- 開始虛擬攝影機。
- 停止虛擬攝影機
- 停止虛擬攝影機。
- 切換虛擬攝影機
- 開始或停止虛擬攝影機。
- 開始重播緩衝區
- 開始重播緩衝區。
- 停止重播緩衝區
- 停止重播緩衝區。
- 切換重播緩衝區
- 開始或停止重播緩衝區。
- 儲存重播緩衝區
- 將目前的重播緩衝區儲存到磁碟。
- 分割錄製檔案
- 在錄製持續進行時開始新的錄製檔案。
- 建立錄製章節
- 在正在錄製的檔案中加入章節標記(僅限 Hybrid MP4 格式)。
- 設定錄製資料夾
- 設定 OBS 寫入新錄製檔案的資料夾。
- 啟動輸出
- 依名稱啟動 OBS 輸出,包括外掛程式新增的輸出。
- 停止輸出
- 依名稱停止 OBS 輸出,包括外掛程式新增的輸出。
- 切換輸出
- 依名稱啟動或停止 OBS 輸出,包括外掛程式新增的輸出。
- 取得輸出狀態
- 將 OBS 輸出是否使用中讀入變數。
- 設定來源可見性
- 在場景中顯示、隱藏或切換來源。
- 輸入靜音
- 將音訊輸入靜音、取消靜音或切換靜音。
- 設定輸入音量
- 以百分比或 dB 設定、提高或降低音訊輸入的音量。
- 設定來源濾鏡
- 啟用、停用或切換來源上的濾鏡。
- 設定來源設定
- 變更來源的一項設定,例如文字來源的文字或瀏覽器來源的 URL。
- 取得輸入音量
- 將音訊輸入的音量百分比讀入變數。
- 取得濾鏡狀態
- 將來源濾鏡是否已啟用讀入變數。
- 取得輸入靜音狀態
- 將音訊輸入是否已靜音讀入變數。
- 取得來源可見性
- 將來源在場景中是否可見讀入變數。
- 切換工作室模式
- 開啟或關閉工作室模式。
觸發器24
按鈕或流程可以對這些事件做出反應。
- 場景已變更
- 節目(直播)場景已變更。可限定於單一場景。
- 預覽場景已變更
- 工作室模式的預覽場景已變更。
- 錄製已開始
- OBS 已開始錄製。
- 錄製已停止
- OBS 已停止錄製。
- 錄製已暫停
- 錄製已暫停。
- 錄製已繼續
- 錄製已繼續。
- 錄製檔案已變更
- 錄製已開始、移至新檔案或已停止,附檔案路徑。
- 串流已開始
- OBS 已開始串流。
- 串流已停止
- OBS 已停止串流。
- 重播緩衝區已開始
- 重播緩衝區已開始。
- 重播緩衝區已停止
- 重播緩衝區已停止。
- 重播緩衝區已儲存
- 重播片段已寫入磁碟,附其檔案路徑。
- 螢幕畫面已儲存
- OBS 已將螢幕畫面儲存到磁碟,附其檔案路徑。
- 虛擬攝影機已開始
- 虛擬攝影機已開始。
- 虛擬攝影機已停止
- 虛擬攝影機已停止。
- 工作室模式已變更
- 工作室模式已開啟或關閉。
- 輸入靜音已變更
- 音訊輸入已靜音或取消靜音。可限定於單一輸入。
- 輸入已啟用
- 輸入開始在節目輸出中呈現,例如網路攝影機開始直播。
- 輸入已停用
- 輸入停止在節目輸出中呈現。
- 輸入開始顯示
- 輸入開始在節目或預覽輸出中呈現。
- 輸入停止顯示
- 輸入不再於節目或預覽輸出中呈現。
- 自訂事件
- OBS 指令碼或外掛程式廣播了自訂事件。可限定於單一事件名稱。
- 已連線
- Macro Deck 已連線到 OBS,且 OBS 已完成載入。
- 已中斷連線
- 與 OBS 的連線已中斷。
變數14
在按鈕和小工具上顯示這些值,或在條件中使用。
obs_<configuration>_is_connected- Macro Deck 是否已連線到這個 OBS。
obs_<configuration>_current_scene- 使用中的節目場景。
obs_<configuration>_preview_scene- 工作室模式的預覽場景。
obs_<configuration>_current_profile- 使用中的設定檔。
obs_<configuration>_current_scene_collection- 使用中的場景集合。
obs_<configuration>_is_recording,obs_<configuration>_recording_paused,obs_<configuration>_recording_timecode- OBS 是否正在錄製或已暫停,以及錄製已進行多久。
obs_<configuration>_is_streaming,obs_<configuration>_streaming_timecode- OBS 是否正在串流,以及串流已進行多久。
obs_<configuration>_virtual_camera_active,obs_<configuration>_replay_buffer_active,obs_<configuration>_studio_mode_active- 虛擬攝影機、重播緩衝區和工作室模式是否已開啟。
obs_<configuration>_fps,obs_<configuration>_max_fps,obs_<configuration>_cpu_usage- OBS 回報的效能數據。
obs_<configuration>_streaming_bitrate,obs_<configuration>_recording_bitrate- 目前的輸出位元速率,以 kbps 為單位。
obs_<configuration>_dropped_frames,obs_<configuration>_dropped_frames_percent,obs_<configuration>_skipped_frames,obs_<configuration>_skipped_frames_percent- 串流丟棄的影格,以及編碼器略過的影格,以數量和百分比表示。
obs_<configuration>_last_recording_file,obs_<configuration>_last_screenshot- 最新錄製檔案和螢幕畫面的路徑。
obs_<input>_volume,obs_<input>_muted等- 每個選取的輸入:以 dB 表示的音量(可寫入,因此可用滑桿設定)、靜音、使用中、顯示中、音軌(
obs_<input>_track_1到_6)、監聽類型、同步偏移及其設定。選擇器會建議這些名稱,也可以自行變更。 obs_<scene>_<source>_visible,obs_<source>_<filter>_enabled- 來源在場景中是否可見,以及濾鏡是否已啟用。選擇器會建議這些名稱,也可以自行變更。
常見問題
OBS 在另一台電腦上執行時也能運作嗎?
可以。在 主機 中輸入執行 OBS 的電腦的 IP 位址,並讓該連接埠(預設為 4455)通過那台電腦的防火牆。設定錄製資料夾 或 設定來源設定 等動作中的路徑,是執行 OBS 的電腦上的路徑。
可以控制多個 OBS 嗎?
可以。使用 新增設定 為每個 OBS 執行個體新增一個設定。每個設定都有自己的變數,而每個動作都有 設定 欄位,用來選擇要控制的 OBS。
OBS 關閉或連線中斷時會怎麼樣?
Macro Deck 會在背景中持續嘗試重新連線,並在 OBS 恢復後再次連線。在此之前,動作會失敗並顯示 未連線到 OBS。,而 已中斷連線 和 已連線 觸發器會觸發,讓流程可以做出反應。
為什麼動作失敗?
動作會顯示原因,例如場景或來源已不存在、OBS 仍在載入場景集合,或 OBS 未在錄製(適用於 分割錄製檔案 和 建立錄製章節)。如果在 OBS 中重新命名了某個項目,請在動作中重新選擇。
WebSocket 密碼儲存在哪裡?
Macro Deck 會將密碼加密儲存在執行 Macro Deck 的電腦上,只用於連線到 OBS。
更多「直播」整合
Meld Studio
隨附於 Macro Deck在 Meld Studio 中切換和預備場景、控制圖層、效果和音軌,並開始直播。
Streamlabs Desktop
隨附於 Macro Deck在 Streamlabs Desktop 中切換場景,控制串流、錄製和音訊來源。
Streamer.bot
隨附於 Macro Deck執行 Streamer.bot 動作、傳送聊天訊息,並對 Streamer.bot 回報的每個事件做出反應。
Twitch
隨附於 Macro Deck顯示 Twitch 聊天室和直播統計資料、管理聊天室、進行投票和播放廣告,並對追蹤、訂閱和突襲做出反應。
YouTube
隨附於 Macro Deck顯示 YouTube 直播聊天室和直播統計資料,變更標題和標籤,並對 Super Chat 和會員做出反應。