Ai! Jack!v2026.04.01-f12
← 홈GeekNews 최신

Jellyfin 12.0

원문 보기GeekNews에서 보기
0 pointsby neo대한민국

AI 분석

•Jellyfin 12.0은 10.11의 데이터베이스 전환을 기반으로 라이브러리 탐색 성능 개선
•재생목록·컬렉션 항목의 개별 행 저장과 에피소드 다중 버전·서버 내장 도서·만화 지원
•대규모 라이브러리 운영에서는 전체 목록 처리 없이 개수·페이지 조회가 가능한 구조에 주목

검증 정보

출처
news.hada.io
피드
GeekNews 최신
수집/분석 기준
2026. 9. 8. 오전 9:00
원문 확인
원문 열기

본문

•10.11의 데이터베이스 전환을 바탕으로 라이브러리 탐색 성능 을 개선하고, 에피소드 다중 버전과 서버 내장 도서·만화 지원을 추가한 새 안정 버전임
• 재생목록·컬렉션 항목을 개별 행으로 저장 해 전체 목록을 읽거나 다시 쓰지 않고도 개수·페이지 조회와 개별 항목 편집이 가능해짐
•데스크톱·모바일 기본 화면이 Modern 으로 바뀌며, 라이브러리별 추천 공급자 선택, 플러그인 검색 확장, FFmpeg 8.1 기반 미디어 처리 개선을 제공함
•업그레이드는 10.10.7 또는 10.11.x 에서 지원함 — 데이터베이스 재작성에 대비해 서버 중지 후 전체 수동 백업이 필수이며, 업그레이드 후 첫 전체 라이브러리 스캔은 평소보다 훨씬 오래 걸림
•보안 수정과 함께 구형 인증·클라이언트 호환성 이 바뀜 — 서드파티 플러그인은.NET 10 대상으로 재빌드해야 하며, 클라이언트·배포 도구는 새 버전 표기와 API 변경을 확인해야 함

업그레이드 전 필수 확인

• 데이터베이스 스키마 변경과 첫 실행 시 데이터 재작성 이 이루어지므로 이전 버전으로 돌아가려면 백업이 필요함
•Jellyfin을 중지한 뒤 데이터·설정 디렉터리를 전체 수동 백업 해야 함
•업그레이드 출발 버전은 10.10.7 또는 모든 10.11.x 임
•10.11.x에서는 중간 단계 없이 업그레이드할 수 있으며, 10.10.7보다 오래된 버전은 먼저 10.10.7로 올려야 함
• 마이그레이션 중 서버를 중지하면 안 됨
• 사용자 이름과 라이브러리 스캔
• 사용자 이름의 대소문자 구분이 사라짐 에 따라 대소문자만 다른 두 계정이 있으면 데이터베이스 마이그레이션이 실패하므로 미리 확인해야 함
•사용자 이름 자체의 대소문자 변경은 가능해짐
•업그레이드 후 전체 라이브러리 스캔이 필수 임
•자동으로 묶었던 대체 버전 연결은 업그레이드 중 삭제되며, 직접 병합한 버전은 해당하지 않음
•스캔 전까지 자동 그룹에 속했던 버전이 사라진 것처럼 보일 수 있음
•첫 스캔은 모든 라이브러리 항목을 디스크 파일과 대조해 이전 버전의 잔여 데이터와 잘못된 분류를 정리하므로 훨씬 오래 걸리고, 일부 영화가 새로 추가된 항목처럼 나타날 수 있음
• 플러그인과 구형 클라이언트
• 서드파티 플러그인은 업그레이드 전에 제거 해야 함
•10.11용 플러그인은 12.0에서 로드되지 않으며, 제작자의 업데이트 빌드가 필요함
•공식 플러그인은 12.0 지원을 완료함
•오래된 클라이언트는 레거시 경로와 인증 제거 로 작동하지 않을 수 있음
• /emby/ , /mediabrowser/ 지원이 제거되고, 사용 중단 예정이던 로그인 방식은 기존 서버에서도 비활성화됨
• 업그레이드 후 점검과 지원
•웹 화면에 이상이 있으면 강력 새로고침 또는 웹 캐시 삭제 가 필요함
•버그 신고에는 [12.0] 접두사를 붙이며, 문제가 있으면 지원 채팅 을 이용할 수 있음
•보안 수정이 포함돼 있으므로 준비가 되면 이전 버전에 머무르기보다 업그레이드하는 것을 권장함

버전 번호와 데이터베이스 성능

•기존 명명 방식의 10.12.0 대신 12.0 을 사용하며, 서버가 보고하는 버전은 12.0.0 임
•10.11.x가 기존 방식의 마지막 릴리스 계열임
•라이브러리 데이터베이스를 재작성한 10.11.0이 번호상 사소한 업데이트처럼 보였던 문제를 없애기 위해 고정된 10. 을 제거함
•변경은 1월 논의 와 5월 확정 을 거쳤으며, 버전 문자열을 파싱하는 클라이언트·모니터링·배포 스크립트·컨테이너 태그 고정 설정은 점검이 필요함
• 재생목록·컬렉션·박스 세트 의 항목을 부모 객체 안의 큰 목록 대신 개별 데이터베이스 행으로 저장함
•기존에는 개수·시청 진행률·한 페이지를 확인할 때도 전체 목록을 읽고 풀어야 했음
•이제 행 개수 계산, 페이지 조회, 항목 추가·삭제를 나머지 목록에 손대지 않고 처리할 수 있어 큰 목록에서 개선이 기대됨
• Continue Watching, Next Up , 다시 보기, 음악 Latest Media, 아티스트 조회, 폴더 시청 개수 조회가 빨라짐
•대량 삭제가 중간에 실패하던 문제를 수정함
•무거운 데이터베이스 유지보수가 라이브러리 스캔과 동시에 실행되지 않아 자원 경쟁을 줄임
•이번 최적화의 대상은 라이브러리 읽기이며, 스캐너 자체의 속도 개선은 목표가 아니었음
•첫 실행의 마이그레이션 시간은 라이브러리 크기와 잘못된 데이터의 누적량에 따라 달라짐
•` --mode MigrateSystem` 으로 실행하면 Jellyfin의 나머지 기능을 시작하지 않고 업그레이드만 수행한 뒤 종료함

에피소드 다중 버전과 도서·만화 지원

•영화에만 제공하던 대체 버전 그룹화 를 에피소드에도 지원함
•방송판·확장판 또는 같은 에피소드의 1080p·4K 파일을 묶을 수 있음
•이어보기 위치는 실제 시청하던 버전을 따름
•버전 연결 저장 구조가 바뀌어 자동 연결을 디스크 파일로부터 재구성해야 하므로 업그레이드 후 스캔이 필요함
• Bookshelf의 주요 기능을 서버에 통합 해 플러그인 없이 도서 메타데이터를 읽음
•OPF·ComicInfo 파일과 ComicBookInfo 주석을 지원함
•EPUB 및 지원하는 모든 만화 압축 형식의 포스터를 생성하고, 오디오북의 외부 표지를 지원함
•도서 파일명에서 이름·순번·연도·시리즈를, 만화 파일명에서 권·장 번호를 읽음
•만화 압축 파일·PDF에서 페이지 수를, 오디오북에서 챕터를 추출하며 ISBN 외부 ID와 링크를 지원함
• Bookshelf는 사용 중단 예정 이며, 기능은 서버 또는 별도 GoogleBooks·ComicVine 공급자로 이전됨
•새 OpenLibrary 플러그인은 메타데이터와 이미지를 제공함
•웹 도서 라이브러리에 Modern 레이아웃 과 보기 유형·페이지 구분·Authors·Collections·Folders 탭을 추가함
•도서에는 작가 정보를, 작가 페이지에는 해당 작가의 도서와 오디오북을 표시함
•모든 도서 유형의 읽기 화면과 전체 화면 동작을 통일하고 PDF 스와이프 탐색을 지원함
•지원 전자책의 진행률 표시를 복구하고 순번·출간일 정렬과 EPUB 글꼴 크기 선택을 개선함
•iOS에서 오디오북 백그라운드 재생이 가능함

추천·검색 확장과 Modern 기본 화면

• 추천·유사 항목 데이터 공급자 를 메타데이터 공급자와 같은 설정 위치에서 라이브러리별로 선택할 수 있음
•영화와 음악에 서로 다른 공급자를 사용할 수 있음
•서버에 포함된 ListenBrainz 를 음악 라이브러리에 지정하면 태그만이 아닌 실제 청취 데이터에 기반한 유사 아티스트 추천을 제공함
• 검색 플러그인 이 Jellyfin 자체 결과 옆에 별도 검색 결과를 추가할 수 있음
•외부 검색을 함께 수행하기 위해 서버를 포크할 필요가 없어짐
•추천·검색 확장 시스템의 개발자용 정보는 릴리스 노트에서 확인할 수 있음
•기존 실험적 화면인 Modern 이 별도 선택을 하지 않은 데스크톱·모바일 사용자의 기본 레이아웃이 됨
•이전 화면은 Legacy 로 남으며, TV는 기존 앱의 TV 레이아웃을 계속 사용함
•Dark·Light·WMC·Blue Radiance·Apple TV·Purple Haze 테마가 CSS 변수 기반 공통 테마를 사용하므로 사용자 정의 테마 제작자는 확인이 필요함
•라이브러리 도구 모음을 앱 바에 통합하고 고정 라이브러리 헤더 를 적용함
•모든 라이브러리에 Collections·Playlists 탭을 제공하고 항목 상세에도 컬렉션을 표시함
•Music Videos·Mixed Media·Collections and Playlists·Books 보기를 갱신하고 Home Videos·Photos에 기본 탭 옵션과 폴더 보기를 추가함
•오디오·자막 언어 필터, Reset Filters 버튼, 스튜디오 검색을 추가함

사용자가 체감하는 화면·동작 변경

• 자막 설정은 서버 전체가 아닌 라이브러리별 로 관리하며, 기존 서버 공통 옵션은 없어짐
•라이브러리 정렬과 미디어 처리 방식이 바뀜
•정렬을 일관되게 바꾸면서 일부 라이브러리의 항목 순서가 달라질 수 있음
•저해상도 포스터는 원본 크기 이상으로 확대하지 않아 작지만 더 선명하게 보임
•` .ogg` 는 비디오가 아닌 오디오로 취급 하며, 기존 .ogg 비디오는 다음 스캔 때 재분류됨
•심볼릭 링크 미디어는 스캔 시점이 아닌 재생 시점에 링크를 따라감
•재생 화면에 계속 시청 여부 확인 과 , · . 키를 이용한 프레임 단위 탐색을 추가함
•탐색 막대 미리보기에 챕터 이름을 표시하고, 재생 정보 오버레이는 더 작으면서 더 많은 정보를 보여줌
•폴더를 재생 완료로 표시할 수 있으며, Upcoming 화면과 시리즈 라이브러리의 Play All·Shuffle 버튼을 개선함
•사진 보기·독서 중에는 화면 보호기 실행을 억제 함
•Modern에서 화면 보호기 시간을 설정하고 사진 슬라이드쇼 지연 시간을 조정할 수 있음
•여러 역할을 맡은 제작진은 카드 하나로 합치고 , TV 프로그램 창작자를 상세 페이지에 표시함
• 브라우저 캐시 를 확대해 이미 방문한 화면을 더 빨리 열며, 고해상도 화면에서 이미지가 흐리게 보이던 문제를 수정함
•게임 컨트롤러 탐색, 비라틴 문자 키보드의 단축키, 리모컨 되감기·빨리 감기를 개선함

관리자 기능과 라이브러리 운영

• 로그 실시간 추적 과 Activity 페이지 정렬·필터링을 지원함
•시작 화면에 버전과 활동 정보를 표시함
•클라이언트가 응답 언어를 지정할 수 있고, 데이터베이스 파일을 기본 경로 외의 위치에 둘 수 있음
•비활성화한 플러그인이 재시작 후 다시 활성화되지 않음
•캐시 디렉터리에` CACHEDIR.tag` 를 추가해 백업 도구가 제외할 수 있게 함
•손상된 레코드 때문에 백업 전체가 실패하지 않도록 변경함
•백업 복원 전과 라이브러리 스캔 중 백업 시작 전에 경고함
•데이터베이스 최적화 작업은 실행 시와 종료 시 분석 및 vacuum을 수행함
• 컬렉션·재생목록을 라이브러리별로 필터링 할 수 있음
•Metadata Manager에서 모든 사용자에게 적용되는 재생목록 라이브러리 이미지를 설정할 수 있고, 재생목록에 중복 트랙을 허용함
•인물 검색 필터와 작품 원어 오디오 우선 선택 옵션 을 추가함
•Refresh People 작업은 삭제된 인물을 정리하고 이미지가 없는 인물의 업데이트를 확인함
• Live TV 의 가이드 가져오기와 재생 호환성을 개선함
•XMLTV 배경 이미지·에피소드 썸네일을 가져오며, 변경 없는 프로그램은 건너뛰어 반복 갱신 비용을 줄임
•클라이언트에서 접근할 수 없는 서버 로컬 스트리밍 URL을 반환하지 않음
•EPG가 SchedulesDirect API 오류 코드를 반영해 잠금을 방지함
•지원 클라이언트에서 HDHomeRun은 직접 재생하며, M3U 튜너는 직접 재생 대신 리먹싱을 기본으로 사용함
• 메타데이터 인식 범위 를 확장함
•영화의 TVDB ID, AudioDb 아티스트 검색, 음악 파일의 ReplayGain 앨범 게인, 파일명의 WEB-DL 태그를 지원하고 MusicBrainz 조회의 복원력을 개선함
•시즌·에피소드 폴더 이름에 공급자 ID를 지정할 수 있음
•공급자 ID 파싱에 기존 대괄호 외에 중괄호·소괄호를 지원하고, tvdbid · imdbid · tmdbid 의 별칭으로 tvdb · imdb · tmdb 를 허용함

트랜스코딩과 기기 호환성

• FFmpeg 8.1 로 전환하고 CUDA 전치·OCL 스케일링·Mali GPU의 OCL 톤 매핑 성능을 최적화함
•HLG 톤 매핑에 BT.2446 Method B의 EOTF를 사용함
•Dolby Vision Profile 5용 규격 준수 dvh1 HLS 변형으로 기기 호환성을 개선함
•비디오 트랜스코딩과 오디오 리먹싱을 함께 할 때 발생할 수 있던 HLS 음성·영상 동기화 문제를 수정함
• SubtitleEdit 를 통해 자막을 기록해 기존 SSA→ASS 변환 과정의 스타일 손실을 피함
•VobSub 지원, 트랜스코딩 시 외부 자막의 MKS 삽입, 자막 추출 제한 시간 설정을 추가함
•리먹싱 중 클라이언트가 이미지 기반 자막을 렌더링할 수 있음
•회전 영상을 처리하지 못하는 Android TV 기기 프로필 옵션 을 추가함
•플랫폼별 재생 지원을 넓히고 오디오 처리를 개선함
•webOS 25 이상에서 MKV의 Dolby Vision, TV 클라이언트에서 AV1 직접 스트리밍, Tizen에서 아나모픽 영상 직접 재생을 지원함
• iOS에서 화면을 끈 상태의 백그라운드 재생 을 지원하고, 오디오 정규화가 음높이·속도에 영향을 주던 문제를 수정함
• Trickplay 는 스캔 시 기존 파일을 재사용하며 인터레이스 영상의 중복 생성을 방지함
•원본의 잘못된 타임스탬프를 처리하고 생성 실패 시 잔여 파일을 정리함

보안 수정과 TLS 이전

•조작된 요청으로 허용 디렉터리 밖의 파일에 접근 할 수 있던 여러 경로를 차단함
•잘못 설정된 서버에서 로그인 없이 초기 설정 마법사를 다시 실행하지 못하게 함
•안전하지 않은 이름의 플러그인 패키지를 거부하고, 보호자 통제를 더 많은 곳에 적용함
•웹 클라이언트의 크로스 사이트 스크립팅 문제를 수정함
•이번 버전으로 예고했던 내장 TLS/SSL 지원 제거는 향후 버전으로 연기 됨
•리버스 프록시 뒤에서 운영 하는 것을 계속 권장함
•인터넷에 공개된 서버에서 내장 TLS를 사용한다면 이번 연기를 이전 준비 시간으로 활용해야 함

클라이언트·플러그인 개발자 대응

•사용 중단 예정 인증 방식은 기본 비활성화 되며, 아직 이전하지 않았다면 인증 변경 사항 을 확인해야 함
•` GetItems` 가 비동기로 바뀌고, includeItemTypes 가 포함된 필터 요청에는 recursive 를 적용함
•같은 쿼리라도 10.11과 결과 집합이 달라질 수 있음
• ItemByName 응답을 제한하고 인물 중복을 제거함
• Swashbuckle v10 으로 OpenAPI 문서가 변경돼 SDK 재생성이 필요함
•다음 API는 아직 작동하지만 사용 중단 예정 이므로 대체 API로 이전해야 함
• GetTrailers 는 GetItems 의 includeItemTypes=Trailer 로 대체함
• GetArtists · GetAlbumArtists 는 GetPersons 로, GetArtistByName 은 GetPerson 으로 이전해야 함
• GetMusicGenre 는 GetGenre 로, 음악 장르 즉석 믹스 엔드포인트는 GetInstantMixFromItem 으로 대체함
•시작 경로는 구성 엔드포인트로 이전해야 함
• GetRecordingsSeries 도 사용 중단 예정이며, UserDto.HasPassword 는 더 이상 유용한 정보를 제공하지 않음
•HLS 컨트롤러는 OpenAPI 명세에서 숨겨짐
•` GET /QuickConnect/Initiate` 가 제거 돼 해당 클라이언트는 POST로 전환해야 함
•이미 실질적인 동작 없이 403·404·빈 결과를 반환하던 POST /Users/{userId}/EasyPassword , GET /Items/{itemId}/CriticReviews , GET /Environment/NetworkShares , POST /System/MediaEncoder/Path , GET /LiveTv/Recordings/Groups/{groupId} 도 제거됨
•OpenAPI 명세에 없는 엔드포인트와 사용 중단 표시가 있는 엔드포인트·매개변수는 사용하지 않아야 함
•통상 제거 전 한 번의 전체 주요 릴리스 주기 동안 사용 중단 상태를 유지함
•서버가 .NET 10 을 대상으로 하며 플러그인 인터페이스도 바뀌어 대상 변경과 재빌드가 필요함
•대체 버전·재생목록 항목은 더 이상 부모 항목 안에 저장되지 않으므로 새 라이브러리 메서드를 사용해야 함
•주요 호환성 변경에는 ISearchEngine , IAuthenticationProvider.HasPassword , IItemRepository 일부, IUserManager 일부 멤버가 있음
•플러그인은 검색·추천·만화 메타데이터 외에도 미방영·누락 에피소드 데이터와 출연진 통합 크레딧을 제공할 수 있음
•오디오북 같은 비영상 항목의 챕터 저장, 서버가 모르는 사용자 이름의 비밀번호 재설정 처리, 항목 데이터 정리 시 자체 추출 파일 삭제가 가능함
•Live TV 플러그인은 Schedules Direct 가용성 조회를 직접 구현하지 않고 서버를 통해 수행할 수 있음
•전체 변경 및 인터페이스 목록은 서버 릴리스 노트 와 웹 릴리스 노트 에서 확인할 수 있음

댓글 2개

neo

Lobste.rs 의견들

• Jellyfin 12 릴리스 후보 를 몇 주째 사용 중인데 아주 안정적임. UI도 몇 군데 개선됐고, 최근 Apple TV 앱의 대규모 업데이트도 이번 릴리스와 잘 맞아떨어짐. 예전에 Jellyfin을 써 보고 부족하다고 느꼈다면 다시 살펴볼 만함.
•어떤 tvOS 앱을 사용 중인가요?
• 10.11.0 업그레이드 자체는 순조로웠지만 클라이언트 쪽에서는 상당히 애를 먹었음. 12.0에서 성능 저하가 해결되길 기대함. 이번 업그레이드는 평소보다 준비할 일이 조금 더 많음.
•스트리밍 서비스를 이것저것 써 보는데, 돈을 내도 광고 가 나오고 없애려면 더 내라고 함. 시청하던 지점부터 이어 재생하는 것조차 자주 실패함. Jellyfin이 훨씬 나음.
•“업데이트가 까다롭고 버그도 예상되지만, 여기 나열한 보안 문제 때문에 최대한 빨리 업데이트하라”는 릴리스 안내 방식 은 마음에 들지 않음.

보안상 긴급 업데이트를 권고하되 세부 정보는 당분간 감추거나, 적어도 쉽게 찾을 수 없게 해야 함. 아니면 수정 사항을 이전 버전에도 적용해야 하는데, 그건 어려울 수 있으니 전자를 기대함. 지금 공지는 사실상 “하루 만에 Jellyfin 10.x 기반 봇넷 만들기” 안내서처럼 읽힘.

•업그레이드가 어렵다기보다는 데이터베이스 마이그레이션과 정리, 전체 스캔 때문에 시간이 더 걸리는 것임.

오픈소스 프로젝트에서 세부 정보를 숨기기는 사실상 불가능함. 릴리스에 포함되는 순간 명백히 드러나기 때문임. 게다가 대부분의 취약점은 인증하지 않은 공격자가 악용할 수 없고, 예외는 서버 설정이 잘못된 경우뿐임.

•요즘 공개 패치를 배포하면서 취약점 세부 정보를 숨기는 것 은 양립할 수 없음. 공개 버그 신고를 허용하는 것조차 양립하기 어려울 수 있음.

공격자들은 Jellyfin 같은 인기 저장소에 AI 에이전트를 붙여 이슈와 패치를 상시 감시하고, 버그를 재현하거나 역공학해 악용하려 함. 에이전트는 이 두 종류의 정보만으로도 취약점을 꽤 잘 찾아내며, 패치 공개 몇 시간 만에 공격 코드를 만드는 데 쓰이고 있음. 업데이트를 배포하는 프로젝트에서는 공개 유예가 이제 무용하며, 오히려 역효과라고 봄.

이전 버전에 수정 사항을 적용하는 것 도 해결책은 아님. 자동화된 스캐너가 수정 내용을 파악하면, 대다수 Jellyfin 운영자가 업데이트하기도 전에 공격 코드를 이전 버전용으로 바꿀 수 있음.

• Lobsters 커뮤니티에서는 Jellyfin을 어디서 어떻게 사용하나요? 어떤 기기와 운영체제에 설치하고, 영상 등 어떤 콘텐츠를 보관하며, 어떤 용도로 쓰는지 궁금함. 동시에 두 명 이상이 사용하는지, 제대로 된 미디어 환경을 위해 Jellyfin 외에 필요한 구성 요소가 있는지도 알고 싶음.

좋은 평가를 자주 듣지만 아직 필요성이 와닿지 않음. SMB 서버와 SMB 지원 플레이어 만으로는 왜 충분하지 않은가요?

•사양이 높지 않은 Proxmox 서버의 가상 머신 에서 Jellyfin을 실행하고, TrueNAS Scale 장비의 저장소를 SMB로 마운트해 사용함. 콘텐츠는 주로 직접 추출한 Blu-ray와 인터넷에서 찾은 것들임. MakeMKV 포럼에서 펌웨어를 개조한 드라이브를 구매해 4K/UHD 디스크도 추출함.

yt-dlp 스크립트 로 좋아하는 YouTube 채널 일부를 Jellyfin의 시리즈 형태로 바로 동기화함. 디스크에서 추출한 파일은 원본 그대로 두고 트랜스코딩하지 않으며, 모든 재생 기기는 내부망에 있고 서버를 인터넷에 노출하지 않음.

나를 포함한 가족 네 명이 이용함. iOS에서는 Senplayer, Apple TV와 Vision Pro에서는 Infuse Pro, macOS에서는 Jellyfin 네이티브 플레이어를 사용함.

•6세대 쿼드 코어 Xeon과 NVIDIA T400 GPU를 장착한 Lenovo ThinkCentre에 Ubuntu Server를 설치하고, 다른 여러 서비스와 함께 Jellyfin을 실행함. TV 시리즈와 영화, 가끔 IPTV를 시청함. 음악도 시도했지만 Jellyfin Android 앱의 음악 재생이 마음에 들지 않아 지금은 Navidrome + Symfonium 을 사용함.

SMB 같은 단순 파일 공유보다 좋은 점은 시리즈나 영화의 시청 진도를 기억 하고, 메타데이터를 자동으로 가져와 일관된 UI로 보여준다는 것임. 친구가 놀러 와 직접 조작할 때도 편하고, 소파에서 TV를 볼 때는 크게 확대할 수 있는 UI 요소가 유용함.

집 밖에서 휴대폰으로 볼 때처럼 필요하면 낮은 비트레이트로 재인코딩할 수도 있음. 서버에 GPU를 넣은 이유도 이것임.

•오래된 M1 MacBook Air 를 홈 서버로 사용함. 주로 여행 중 Tailscale을 통해 집에 있는 영상을 볼 때 더 보기 좋은 UI와 라이브러리를 쓰려고 Jellyfin을 이용함.

사실 MP4를 최적화하고 필요하면 자막을 가져오는 폴더 자동화 작업만으로도 필요한 일의 99%는 해결됨.

•Celeron J3160과 RAM 8GB 장비에 Fedora를 설치하고 Jellyfin Server 비공식 Flatpak 빌드 를 실행함. 저렴하고 느린 드라이브에 몇 TB 정도를 보관하며, 주로 DVD/Blu-ray 추출 영상과 CD에서 추출한 FLAC 파일임.

앨범 전체를 듣는 걸 좋아해서 끊김 없는 음악 재생 을 지원하는 Kodi를 주로 재생 화면으로 사용함. 현재 Fire TV Stick에서 Kodi와 Jellyfin을 쓰고 있으며, 새로 산 N100 장비를 LibreELEC 또는 Fedora·Plasma Bigscreen·Kodi 조합의 미디어 플레이어로 만들 계획임. Jellyfin Server도 새 장비의 Podman 컨테이너로 옮길 수 있지만, 기존 Celeron 장비에서 특별히 문제가 생긴 것은 아님.

Plex는 써 본 적이 없고 독점 소프트웨어에도 관심이 없음. 비교할 만한 것은 10여 년 전 지상파 TV 스트리밍용으로 쓴 MythTV 정도지만, Jellyfin에 만족함. 익숙한 스트리밍 서비스 형태라 방문한 친구나 가족도 쉽게 이용할 수 있음. 아내와 구독하는 서비스는 PBS Passport와 Dropout뿐이며, 광고가 있거나 거대 기업이 운영하는 서비스에는 관심이 없음.

주로 집의 거실 TV로 시청하고, 가끔 OpenWrt 라우터의 WireGuard VPN을 통해 외부에서 접속함. 여러 사용자나 집 밖의 다른 사람에게 서비스를 제공하려는 용도는 아님. 아내가 TV를 보는 동안 노트북에서 다른 영상을 재생한 적도 있는 것으로 기억함.

•직접 조립한 Unraid 서버 에서 컨테이너로 실행함. 실사용 저장 용량은 6TB이고, 하드웨어 가속이 뛰어나서 Intel 12세대 CPU를 선택함. 최근 약 5년 이내의 Intel 칩과 RAM 16GB 이상이면 대체로 훌륭하며, AMD도 가능하지만 하드웨어 가속은 조금 떨어짐.

보유한 DVD/Blu-ray의 영화와 TV 시리즈를 넣어 다른 스트리밍 서비스와 같은 용도로 사용함. 광고, 추천 홍보 콘텐츠, 과도한 구독료, 서비스별 콘텐츠 분산 을 피할 수 있고, eBay에서 박스 세트만 구하면 원하는 콘텐츠를 Jellyfin에 넣을 수 있음. 동시 사용자는 많아야 세 명 정도임.

Unraid는 미디어 디렉터리에 SMB로 접근하거나 컨테이너 안에 마운트하기 쉬워서 편리함. 저장 공간을 절약하려고 큰 파일을 재인코딩하는 보조 컨테이너도 만드는 중이며, 내 용도에 맞춘 얇은 ffmpeg 래퍼에 가까움.

• Jellyfin과 Plex를 완전히 병행 할 방법을 찾고 싶음. Plex의 "Edition" 파일명 규칙 을 사용하는 미디어가 많은데, Jellyfin에서는 제대로 처리되도록 만들지 못했음. 가족에게 미디어를 공유하기는 Plex가 훨씬 쉬워서 홈랩에서 Plex를 없앨 생각은 없음.
• Plex는 지원 앱이 훨씬 다양 해서 나도 둘 다 운영하고 싶지만 쉽지 않음.
neo

Hacker News 의견들

• Plex 평생 이용권 을 오래 써왔지만, Jellyfin이 발전하는 모습을 볼 때마다 반가움. 언젠가 Plex 때문에 떠나게 되더라도 편하게 옮겨갈 대안이 되어주고, 최소한 Plex의 사용자 적대적 행보를 견제해주길 바람.

최근에는* Claude로 arr 구성** 을 손봤는데 효과가 상당함. 예전에는 요청의 10% 정도를 직접 챙겨야 했지만 지금은 거의 개입하지 않으며, 오디오북 요청과 자막도 잘 작동함. Usenet 서비스 가입도 크게 기여했지만 설정과 연동은 Claude가 모두 도와줌. 이런 미디어 확보 작업은 거절할까 걱정했는데 기꺼이 지원해줌.

•간편하고 여러 기기에서 쓰기 좋아서 https://firecore.com/infuse 에 매우 만족함.

Infuse 는 Plex나 Jellyfin보다 기능이 적을 수 있지만, 형식 지원, 영상·음성·자막 트랙 선택, TV 시리즈 인식, 오프닝 건너뛰기, Trakt.tv 등 영상 감상에 필요한 기능은 충분함. 온라인 저장소와 Apple 기기나 Apple TV용 앱만 있으면 사용 가능함.

•평생 이용권 가격이 터무니없이 오르고 서비스가 원치 않는 방향으로 가기 훨씬 전부터 사용했음. 같은 서버에서 Plex와 Jellyfin을 동시에 실행 하고 동일한 미디어 파일을 가리키게 할 수 있음. 전부 이전하고 Jellyfin의 모바일 앱 생태계가 따라잡을 때까지 Plex 서버도 계속 운영함.
•다시 작성하고 통합해야 할 것이 있다면 * arr 생태계 임. arr 자체를 대체하거나 통합하는 일은 비교적 단순하지만, 다운로드 기능까지 라이브러리 관리자에 넣으려 하면 순식간에 토큰을 태우는 함정에 빠짐. sabnzbd 코드베이스* 에는 오랜 시행착오로 쌓인 지식이 많음.
•Plex가 결국 떠날 이유를 만드는 건 시간문제 같음. 평생 이용권이 있어도 머리 위에 칼이 매달린 듯 불안함.
• 수동 개입을 거의 없앤 설정 을 좀 더 자세히 알 수 있을까? 나도 자주 겪는데, 작업량은 많지 않아도 꽤 성가심.
•지금은 여러 OPDS 카탈로그 를 지원하는지 궁금함. Jellyfin은 음악용으로만 쓰며 v10에 머물러 있는데, 예전에 사용한 도서 플러그인은 책을 여러 카탈로그로 나눌 수 없어 불편했음. v11에서 놓친 기능이 있을 수도 있음. 결국 CSS 없이 기본 인증만 붙인 아주 단순한 OPDS 서버를 바이브 코딩으로 만들어 해결함.
•다른 분들의 업그레이드는 어땠는지 궁금함. 약 40TB 라이브러리 를 운영하며 10.11의 성능 문제 때문에 10.10.7에 머물렀는데, 12.0으로 바로 업그레이드 하니 빠르고 수월해서 놀람.

안내문에 적힌 대로 일부 작품이 사라졌다가 재검색 후 돌아왔지만, 그 외에는 이상이 없었고 초기 마이그레이션도 몇 분이면 끝남.

•내 버전이 10.10.7보다 낮다고 착각해서 안내대로 먼저 해당 버전으로 “업그레이드”하려다가 DB 마이그레이션이 실패 함. 곧바로 12로 넘어가려 해도 시작 중에 같은 문제가 발생해, 결국 Jellyfin 설정을 전부 지우고 처음부터 다시 구성함.

이런 일이 가능한 건 아쉽지만 버전 확인도 백업도 안 한 내 책임. 어차피 설정과 DB에는 시청 완료 표시 외에 중요한 것이 없고, 그 표시도 Emby·Jellyfin·Plex 사이에서 이미 서로 맞지 않는 상태임.

•내 경우에는 마이그레이션 약 10분, 재검색 약 30분 이 걸림. 탐색 미리보기 이미지 생성도 몇 분 진행됐지만, 큰 라이브러리 전체를 생성하려면 며칠이 걸리므로 누락분만 채운 듯함.
•Jellyfin을 arr 구성과 함께 몇 년째 만족스럽게 사용 중임. 어린 딸이 오디오북에 관심을 갖기 시작해 Listenarr와 직접 바이브 코딩한 MCP 서버 를 설치하고, 다른 arr 서비스의 MCP 연결과 함께 운영함.

덕분에 가족이 Onyx AI 로 미디어를 쉽게 내려받고 관리할 수 있음. 이 모든 것을 16GB 메모리의 비교적 소박한 Geekom 미니 PC 한 대에서 microK8s로 실행 중이며, Kubernetes를 잘 다루는 Claude 덕분에 관리도 꽤 간단함.

Listenarr 오디오북용 MCP에 관심 있다면 참고하면 됨: https://github.com/leachuk/listenarr-mcp/blob/main/CLAUDE.md .

• 자막은 Jellyfin의 아킬레스건 임. 적어도 Android 앱에서 TV에 연결된 Chromecast로 전송할 때는 그럼. 자막이 있다고 표시되는데 영상에 나오지 않고, 수동으로 추가하면 진행 표시가 무한히 돌아감. 기존 자막을 지우는 건 되지만 다시 추가하는 건 실패함.

매번 이런 식이라 작동하면 기적처럼 느껴짐. 예전에는 영화를 시작한 뒤 자막을 고치려 했지만, 이제는 모든 준비를 마친 뒤에야 가족을 부름. Plex의 오픈소스 대안이 있다는 건 정말 감사하며, 누군가 개선에 관심을 가져주길 바라서 적어봄.

•나도 겪었지만 내장 자막을 모두 외부 SRT 파일로 추출 하고 Jellyfin이 내장 자막을 제공하지 않도록 설정해서 해결함.

기억하기로 일부 클라이언트는 자막 스트리밍을 지원하지 않아, 영화 시작 시 자막 전체를 내려받아야 표시할 수 있음. 이런 클라이언트에서 내장 자막을 선택하면 Jellyfin이 즉시 추출해야 하는데, 컨테이너 형식과 파일 크기, 서버 부하에 따라 오래 걸릴 수 있음. 외부 자막을 쓰면 더 빠름.

• bazarr 를 쓰고 있는지 궁금함. 내 경우에는 이걸로 자막 문제가 완전히 해결됨.
• Apple TV의 Moonfin과 Infuse 는 둘 다 문제없이 작동함. Google TV도 잘 됐던 것으로 기억하지만, 매달 화면 여기저기에 광고가 추가되는 것 같아서 질려버림.

Roku는 텍스트 자막만 지원 하므로 DVD나 Blu-ray의 이미지 자막을 쓰려면 영상에 직접 입혀야 함.

•예전부터 있던 문제인지, 새 v12에서도 여전한지 궁금함.
•Jellyfin은 지금까지 잘 작동했고, Plex나 Emby는 써보지 않아 비교하기 어려움. 최근 공식 Tizen 앱 도 나와 직접 빌드하고 별도로 설치할 필요가 없어짐.

남은 문제 중 하나는 Samsung 클라이언트에서 보조 오디오 트랙을 선택하면 리먹싱한다는 것임. HTML 재생기 대신 AVPlay 를 사용하면 해결 가능한 듯함.

https://github.com/jellyfin/jellyfin-tizen/issues/337 .

•사소한 불만이지만, 글 전반에 특히 제목에서 LLM의 손길 이 너무 느껴짐. 이런 흔적은 적극적으로 걸러냈으면 함. 나는 AI 특유의 상투적 표현을 제거하고 단순화된 기술 영어(Simplified Technical English) 로 문서를 쓰도록 하는 기술 문서용 SKILL.md를 사용하는데, 차이가 상당함.
•해당 파일은 여기서 볼 수 있음: https://github.com/rcarmo/piclaw/blob/main/skel/.pi/skills/t... .
•10.11.x의 성능이 나빠 10.10.7로 돌아갔지만, 이번 12.0에서는 성능 문제가 해결됐을 것 으로 꽤 확신함. 지난 몇 달간 릴리스 후보를 7번 내놓은 만큼 대부분의 버그도 잡았을 듯함.

RC1은 6월 22일, RC2는 6월 28일, RC3는 7월 22일, RC4는 8월 2일, RC5는 8월 11일, RC6는 8월 26일, RC7은 9월 1일에 나왔고 정식 12.0은 9월 8일 출시됨. 충분히 검증한 것으로 보여 다시 10.10으로 돌아갈 필요는 없을 듯함.

추가로 직접 업그레이드해보니 서드파티 앱까지 10.10과 10.11보다 성능이 좋고 , 마이그레이션에도 문제가 없었음.

•Jellyfin은 잘 작동하지만 라이브러리 검색 로그를 해석하기 어렵다 는 점이 유일한 불만임. 이런 시스템에서 주로 막히는 부분이 검색이라, 관련 기록만 모은 전용 로그를 추가하고 싶음.

실제로 필요할 때는 드물지만, 지난번에는 아이들 때문에 R등급 영화가 보이지 않도록 계정을 설정해둔 것이 원인이었음. 로그만으로는 해당 영화를 검색했는지조차 명확하지 않아 원인을 알아내기 어려웠음.

•Plex Pass가 있지만 서버에서 안정적으로 스트리밍되지 않아 Jellyfin으로 이전 함. 반면 Jellyfin은 아주 매끄럽게 작동해서 이번 업데이트도 기대됨.

관련 아이템