Jellyfin
Macro Deck に同梱デッキから Jellyfin のアプリやテレビを操作し、再生中の内容を表示して、再生の開始や停止に反応します。
ヘッダーに Jellyfin の名前とロゴを表示し、曲を再生している「全面カバー」スタイルと「小さいジャケット」スタイルのミュージックプレーヤーウィジェット
- Jellyfin のアプリ、ブラウザ、テレビで再生と音量を操作
- 映画、エピソード、曲、アルバムを検索して再生
- 再生の開始、一時停止、再開、停止で動くトリガー
- ミュージックプレーヤーと Jellyfin セッションのウィジェット
- 複数のサーバーを接続でき、それぞれに専用の変数
Jellyfin 連携は Macro Deck を 1 つ以上の Jellyfin メディアサーバーに接続し、そこにあるセッション、つまりサインインして再生している Jellyfin のアプリ、ブラウザ、テレビを操作します。Jellyfin のプラグインは必要ありません。サインインには API キーを使います。API キーなら、Macro Deck はサーバー上のすべてのセッションを確認して操作できます。ユーザー名とパスワードでサインインすることもでき、その場合はそのアカウントが操作できるセッションに限られます。
できること
- 再生、一時停止、停止、スキップ、指定位置へのシーク、指定した秒数の早送りと巻き戻し。
- クライアントの音量設定、ミュートとミュート解除、シャッフルとリピートの設定。
- メディアを再生 で、サーバー上の映画、エピソード、曲、アルバムを検索してデバイスで再生する。
- Jellyfin クライアントに見出し付きのメッセージを表示する。
- ミュージックプレーヤー ウィジェットに再生中の内容を、Jellyfin セッション ウィジェットにサーバーの再生状況を表示する。
- 再生の開始、一時停止、再開、停止、項目の変更、クライアントの接続をきっかけにオートメーションを開始する。
設定例:
- リビングのテレビ用の Toggle Play/Pause ボタンと、その横に置いた、直前の 10 秒を繰り返す 巻き戻し ボタン。
- テレビの 再生を開始 で
{{ event.itemType }}がMovieのときに照明を暗くするオートメーションと、再生を停止 で照明を明るく戻す 2 つ目のオートメーション。 - メッセージを表示 でテレビに「夕食ができました」と表示するボタン。
サーバーとデバイス
追加した各サーバーは、プレーヤーを選ぶ場所に 2 つの形で表示されます。サーバー名の方は、直近に何かを再生したセッションを対象にします。Server · Device (例: Home · Living Room TV) は常にそのデバイスを対象にし、デバイスの電源が切れている間は未接続と表示されます。Macro Deck は、最後に見かけてから 30 日間デバイスを記憶します。
Jellyfin 10.11 以降では、Macro Deck は WebSocket でサーバーの状態をライブで追跡します。サーバーがライブ更新を送らない場合は、代わりに 2 秒ごとにセッションを問い合わせます。サーバーに接続できなくなると、Macro Deck はバックグラウンドで再試行を続け、何度か失敗すると 連携 の Jellyfin のページに報告します。すべての Jellyfin クライアントがすべてのコマンドに対応しているわけではありません。クライアントが実行できないコマンドは、メッセージを表示して失敗します。
必要なもの
- Macro Deck を実行しているコンピューターからネットワーク経由で接続できる Jellyfin サーバー。
- Jellyfin のダッシュボードで作成した API キー (推奨)、または Jellyfin のユーザー名とパスワード。
- ライブ更新には Jellyfin 10.11 以降。それ以前では、Macro Deck が 2 秒ごとにセッションを問い合わせます。
セットアップ
ステップ 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 セッション
- 1 つまたはすべてのサーバーで再生中の内容を、カバーやポスター、再生しているユーザー、デバイス、進み具合とともに表示します。
よくある質問
API キーとユーザー名とパスワードのどちらを使うべきですか?
API キーをおすすめします。API キーなら、Macro Deck はサーバー上のすべてのセッションを確認して操作できます。ユーザー名とパスワードでは、そのアカウントが操作できるセッションしか見えません。パスワードはサインインに一度使われるだけで保存されず、Macro Deck が保持するのは Jellyfin が発行するアクセストークンだけです。
複数のサーバーを接続できますか?
はい。サーバーごとに設定を 1 つ追加します。それぞれに設定名にちなんだ専用の変数があり、接続しているかどうかが表示されます。
テレビやブラウザでコマンドが失敗するのはなぜですか?
すべての Jellyfin クライアントがすべてのコマンドに対応しているわけではありません。Macro Deck はクライアントが対応していると報告したコマンドだけを送るため、実行できないコマンドはメッセージを表示して失敗します。音量とミュートは、通常はブラウザのタブではなく Jellyfin のアプリでのみ動作します。
サーバーがオフラインのときはどうなりますか?
Macro Deck はバックグラウンドで再試行を続け、何度か失敗すると 連携 の Jellyfin のページに Jellyfin サーバーに到達できません という問題を表示します。そのサーバーに対するアクションは、サーバーが復帰するまでメッセージを表示して失敗します。
Jellyfin のトリガーとミュージックプレーヤーのトリガーのどちらを使うべきですか?
ミュージックプレーヤー の 再生開始 などのミュージックプレーヤーのトリガーも Jellyfin で動作し、サーバーとデバイスについてそれぞれ 1 回ずつ発生します。オートメーションには Jellyfin のトリガーの方が適しています。デバイスごとに 1 回だけ発生し、ユーザーとメディアの種類の情報も含まれるからです。
音楽とオーディオのその他の連携
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 のゲイン、ミュート、ルーティング、マクロボタンを操作します。