Jellyfin
Macro Deck에 포함덱에서 Jellyfin 앱과 TV를 제어하고, 재생 중인 내용을 표시하고, 재생이 시작되거나 멈출 때 반응하세요.
헤더에 Jellyfin 이름과 로고가 있고 트랙을 재생 중인 전체 커버 스타일과 작은 커버 스타일의 음악 플레이어 위젯 두 개
- Jellyfin 앱, 브라우저, TV의 재생과 볼륨 제어
- 영화, 에피소드, 곡, 앨범을 검색해 시작
- 재생이 시작, 일시 정지, 재개, 중지될 때 실행되는 트리거
- 음악 플레이어 및 Jellyfin 세션 위젯
- 서버마다 고유한 변수를 가진 여러 서버 연결
Jellyfin 연동은 Macro Deck을 하나 이상의 Jellyfin 미디어 서버에 연결하고 그 서버의 세션, 즉 로그인하여 재생 중인 Jellyfin 앱, 브라우저, TV와 함께 동작합니다. Jellyfin 플러그인은 필요 없습니다. API 키로 로그인하면 Macro Deck이 서버의 모든 세션을 보고 제어할 수 있으며, 사용자 이름과 비밀번호로 로그인하면 그 계정이 제어할 수 있는 세션으로 제한됩니다.
할 수 있는 일
- 재생, 일시 정지, 정지, 건너뛰기, 특정 위치로 탐색, 지정한 초만큼 앞뒤로 이동.
- 클라이언트의 볼륨 설정, 음소거와 음소거 해제, 셔플과 반복 설정.
- 미디어 재생으로 서버에서 영화, 에피소드, 곡, 앨범을 검색해 기기에서 시작.
- Jellyfin 클라이언트에 제목이 있는 메시지 표시.
- 음악 플레이어 위젯에 재생 중인 내용을, Jellyfin 세션 위젯에 서버의 재생 상황을 표시.
- 재생이 시작, 일시 정지, 재개, 중지될 때, 항목이 바뀔 때, 클라이언트가 연결될 때 자동화 시작.
활용 예:
- 거실 TV용 Toggle Play/Pause 버튼과, 마지막 10초를 다시 보는 그 옆의 뒤로 탐색 버튼.
- TV에 대한 재생 시작됨 자동화로
{{ event.itemType }}이Movie이면 조명을 어둡게 하고, 재생 중지됨 자동화로 다시 밝게 하기. - 메시지 표시로 TV에 "저녁 준비됐어요"를 띄우는 버튼.
서버와 기기
추가한 각 서버는 플레이어를 고르는 곳마다 두 가지 형태로 나타납니다. 서버 이름은 가장 최근에 무언가를 재생한 세션을 따라갑니다. 서버 · 기기(예: Home · Living Room TV)는 항상 그 기기를 대상으로 하며, 기기가 꺼져 있는 동안에는 연결되지 않음으로 표시됩니다. Macro Deck은 마지막으로 본 뒤 30일 동안 기기를 기억합니다.
Macro Deck은 Jellyfin 10.11 이상에서 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 세션
- 하나 또는 모든 서버에서 재생 중인 내용을 커버나 포스터, 재생하는 사람, 기기, 진행 정도와 함께 표시합니다.
자주 묻는 질문
API 키와 사용자 이름·비밀번호 중 무엇을 써야 하나요?
API 키를 권장합니다. 그러면 Macro Deck이 서버의 모든 세션을 보고 제어합니다. 사용자 이름과 비밀번호를 쓰면 그 계정이 제어할 수 있는 세션만 봅니다. 비밀번호는 로그인할 때 한 번만 사용되고 저장되지 않으며, Macro Deck은 Jellyfin이 발급한 액세스 토큰만 보관합니다.
서버를 여러 개 연결할 수 있나요?
네. 서버마다 구성을 하나씩 추가하세요. 각 구성은 구성 이름을 딴 고유한 변수를 가지며 연결 여부를 표시합니다.
TV나 브라우저에서 명령이 실패하는 이유는 무엇인가요?
모든 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의 게인, 음소거, 라우팅, 매크로 버튼을 제어하세요.