Jellyfin
隨附於 Macro Deck從面板控制 Jellyfin 應用程式和電視,顯示正在播放的內容,並在播放開始或停止時做出反應。
兩個正在播放曲目的音樂播放器小工具,一個為「完整封面」樣式,一個為「小封面」樣式,標題列都有 Jellyfin 的名稱和標誌
- 控制 Jellyfin 應用程式、瀏覽器和電視的播放和音量
- 搜尋電影、單集、歌曲或專輯並開始播放
- 在播放開始、暫停、繼續或停止時觸發
- 音樂播放器和 Jellyfin 工作階段小工具
- 連線多台伺服器,每台都有自己的變數
Jellyfin 整合會將 Macro Deck 連線到一台或多台 Jellyfin 媒體伺服器,並操作其上的工作階段:已登入並正在播放的 Jellyfin 應用程式、瀏覽器和電視。不需要 Jellyfin 外掛程式。使用 API 金鑰登入時,Macro Deck 可以查看和控制伺服器上的所有工作階段;使用使用者名稱和密碼登入時,則僅限該帳戶可控制的工作階段。
可以做什麼
- 播放、暫停、停止、跳過、跳到某個位置,或向前和向後跳轉指定秒數。
- 在用戶端上設定音量、靜音和取消靜音,以及設定隨機播放和重複播放。
- 在伺服器上搜尋電影、單集、歌曲或專輯,並使用 播放媒體 在裝置上開始播放。
- 在 Jellyfin 用戶端上顯示帶有標題的訊息。
- 在 音樂播放器 小工具中顯示正在播放的內容,或在 Jellyfin 工作階段 小工具中顯示伺服器上的播放狀況。
- 在播放開始、暫停、繼續或停止,項目變更,或用戶端連線時啟動自動化。
設定範例:
- 客廳電視的 Toggle Play/Pause 按鈕,旁邊放一個 向後跳轉 按鈕,重播最後 10 秒。
- 在電視的 播放已開始 上建立自動化,當
{{ event.itemType }}為Movie時調暗燈光,另一個在 播放已停止 上的自動化則再將燈光調亮。 - 一個使用 顯示訊息 的按鈕,在電視上顯示「晚餐準備好了」。
伺服器和裝置
每台加入的伺服器在選擇播放器時都會以兩種形式出現。伺服器名稱會跟隨最近播放過內容的工作階段。伺服器 · 裝置(例如 Home · Living Room TV)一律指向該裝置,裝置關閉時會顯示為未連線。Macro Deck 會在最後一次看到裝置後記住它 30 天。
在 Jellyfin 10.11 及更新版本上,Macro Deck 會透過 WebSocket 即時追蹤伺服器。伺服器不傳送即時更新時,則改為每兩秒查詢一次工作階段。伺服器離線時,Macro Deck 會在背景中持續重試,並在幾次嘗試失敗後於 整合 下的 Jellyfin 頁面上回報。並非每個 Jellyfin 用戶端都支援所有指令:用戶端無法執行的指令會失敗並顯示訊息。
需要準備
- 執行 Macro Deck 的電腦能透過網路連到的 Jellyfin 伺服器。
- 來自 Jellyfin 控制台的 API 金鑰(建議),或 Jellyfin 使用者名稱和密碼。
- 即時更新需要 Jellyfin 10.11 或更新版本。沒有即時更新時,Macro Deck 會每兩秒查詢一次工作階段。
開始設定
步驟 1: 在 Jellyfin 中建立 API 金鑰
開啟 Jellyfin 控制台並前往 API Keys。建立新的金鑰並複製。如果偏好使用使用者帳戶登入,請略過此步驟。
步驟 2: 在 Macro Deck 中新增設定
在 Macro Deck 的側邊欄中按一下 整合,然後按一下 Jellyfin。在 概覽 分頁的 設定 區段中按一下 新增設定。開啟右上角的開關也會開啟相同的對話方塊,設定完成後此整合就會啟用。
步驟 3: 輸入伺服器詳細資料
在 連線至 Jellyfin 對話方塊中填寫:
- 設定名稱:這台伺服器的名稱,例如
Home。會用於播放器名稱和變數。 - 伺服器位址:含連接埠和任何基礎路徑的位址,例如
http://192.168.1.10:8096。 - 登入方式:API 金鑰 或 使用者名稱與密碼,然後輸入 API 金鑰,或 使用者名稱 和 密碼。
按一下 繼續。Macro Deck 會在儲存前檢查連線。
- 設定名稱:這台伺服器的名稱,例如
步驟 4: 檢查連線
新的設定會在 Jellyfin 頁面的 設定 區段中顯示 已連線。每增加一台伺服器,就重複這些步驟。
步驟 5: 在按鈕上加入動作
在 面板 頁面上按一下要使用的按鈕。面板必須處於解鎖狀態:右上角的按鈕顯示 鎖定 時,即表示已解鎖。編輯器開啟時會選取 短按。按一下 + 新增動作,在 新增動作 對話方塊左側選擇 Jellyfin,然後選擇一個動作,例如 Toggle Play/Pause。選擇它要控制的伺服器或裝置,然後按一下 儲存。
步驟 6: 按下按鈕
在 Jellyfin 用戶端上開始播放內容,然後在面板上按下按鈕。該用戶端上的播放會暫停或繼續。
動作20
可放在按鈕上,或從流程中執行。
- Play
- 在用戶端上繼續播放。
- Pause
- 在用戶端上暫停播放。
- Toggle Play/Pause
- 在播放和暫停之間切換,並在按鈕上顯示播放狀態。
- 停止
- 在用戶端上停止播放。
- Next Track
- 跳到下一個項目。
- Previous Track
- 跳到上一個項目。
- Refresh State
- 立即讀取目前的播放狀態。
- Seek
- 跳到目前項目中的某個位置,以秒為單位。
- 向前跳轉
- 在目前項目中向前跳轉,預設為 30 秒。
- 向後跳轉
- 在目前項目中向後跳轉,預設為 10 秒。
- Set Volume
- 設定用戶端的音量,從 0 到 100%。
- Volume Up
- 將音量提高 10%。
- Volume Down
- 將音量降低 10%。
- 靜音
- 將用戶端靜音。
- 取消靜音
- 重新開啟用戶端的聲音。
- 切換靜音
- 將用戶端靜音或取消靜音。
- Toggle Shuffle
- 開啟、關閉或切換隨機播放。
- Set Repeat Mode
- 將重複設為 Off、Repeat Track 或 Repeat Album/Playlist。
- 顯示訊息
- 在用戶端上顯示帶有標題的訊息,持續指定秒數。
- 播放媒體
- 搜尋電影、單集、歌曲或專輯並在用戶端上開始播放,取代原本正在播放的內容。
觸發器9
按鈕或流程可以對這些事件做出反應。
- 播放已開始
- 工作階段開始播放內容。
- 播放已暫停
- 工作階段的播放已暫停。
- 播放已繼續
- 工作階段暫停的播放已繼續。
- 播放已停止
- 工作階段停止播放。
- 播放項目已變更
- 工作階段切換到另一部電影、另一集或另一首曲目。
- 工作階段已連線
- Jellyfin 用戶端在伺服器上開啟了工作階段。
- 工作階段已中斷連線
- 伺服器關閉了用戶端的工作階段。
- 已連線
- Macro Deck 已連線到伺服器。
- 已中斷連線
- Macro Deck 與伺服器的連線已中斷。
變數7
在按鈕和小工具上顯示這些值,或在條件中使用。
jellyfin_active_sessions- 所有伺服器上正在播放或已暫停的工作階段總數。
jellyfin_<server>_is_connected,jellyfin_<server>_active_sessions- Macro Deck 是否能連到每台伺服器,以及其上有多少工作階段正在播放。
jellyfin_<server>_<device>_is_playing,jellyfin_<server>_<device>_is_paused,jellyfin_<server>_<device>_is_active- 裝置上是否正在播放、已暫停或已載入內容。寫入播放或暫停變數即可播放或暫停。
jellyfin_<server>_<device>_title,jellyfin_<server>_<device>_series,jellyfin_<server>_<device>_album,jellyfin_<server>_<device>_media_type- 每台裝置上項目的標題、影集、專輯(或季)和媒體類型。
jellyfin_<server>_<device>_position,jellyfin_<server>_<device>_duration,jellyfin_<server>_<device>_progress_percent- 以秒為單位的位置和長度,以及以百分比表示的進度。寫入位置或進度即可跳到該處。
jellyfin_<server>_<device>_user,jellyfin_<server>_<device>_client,jellyfin_<server>_<device>_device,jellyfin_<server>_<device>_is_transcoding- 每個工作階段的使用者、用戶端和裝置,以及伺服器是否正在轉碼媒體。
jellyfin_<server>_<device>_volume,jellyfin_<server>_<device>_is_muted- 每台裝置回報的音量和靜音狀態。寫入這些值即可設定音量或靜音。
小工具2
從小工具選擇器將這些小工具加入面板。
- 音樂播放器
- 顯示伺服器或裝置上正在播放的內容,包括圖片、進度,以及播放、暫停和跳過按鈕。顯示的資訊會依歌曲、單集和電影調整。
- Jellyfin 工作階段
- 顯示一台或所有伺服器上正在播放的內容,包括封面或海報、播放者、播放裝置和播放進度。
常見問題
應該使用 API 金鑰,還是使用者名稱和密碼?
建議使用 API 金鑰:這樣 Macro Deck 就能查看和控制伺服器上的所有工作階段。使用使用者名稱和密碼時,只能看到該帳戶可控制的工作階段。密碼只會在登入時使用一次,不會儲存;Macro Deck 只保留 Jellyfin 核發的存取權杖。
可以連線多台伺服器嗎?
可以。每台伺服器新增一個設定。每個設定都有自己的變數,以設定名稱命名,並會顯示是否已連線。
為什麼指令在電視或瀏覽器上失敗?
並非每個 Jellyfin 用戶端都支援所有指令。Macro Deck 只會傳送用戶端回報可執行的指令,因此用戶端無法執行的指令會失敗並顯示訊息。音量和靜音通常只在 Jellyfin 應用程式中有效,在瀏覽器分頁中則無效。
伺服器離線時會怎麼樣?
Macro Deck 會在背景中持續重試,並在幾次嘗試失敗後於 整合 下的 Jellyfin 頁面上顯示問題 無法連線至 Jellyfin 伺服器。在伺服器恢復之前,針對該伺服器的動作會失敗並顯示訊息。
應該使用 Jellyfin 觸發器還是音樂播放器觸發器?
音樂播放器觸發器(例如 音樂播放器 下的 播放已開始)也會針對 Jellyfin 觸發,伺服器和裝置各觸發一次。對於自動化,Jellyfin 觸發器是較好的選擇:它們每台裝置只觸發一次,並包含使用者和媒體類型。
更多「音樂和音訊」整合
Spotify
隨附於 Macro Deck控制 Spotify 播放、喜歡歌曲、管理播放清單,並在面板上顯示正在播放的內容。
YouTube Music Desktop App
隨附於 Macro Deck從面板控制 YouTube Music Desktop App:播放、音量、評分和正在播放的內容。
WebNowPlaying
隨附於 Macro Deck透過 WebNowPlaying 擴充功能,控制瀏覽器中播放的音樂和影片,並顯示正在播放的內容。
SoundPad
隨附於 Macro Deck播放 SoundPad 清單中的音效、控制錄製,並在面板上顯示正在播放的音效。
Voicemeeter
隨附於 Macro Deck從面板控制 Voicemeeter、Banana 或 Potato 的增益、靜音、路由和巨集按鈕。