여러 사용자가 함께 즐기는 홈 스트리밍을 위해 Jellyfin 설정하는 방법

Eva Wong 는 테크니컬 라이터 이자 상주 메이커 로 ZimaSpace에서 활동합니다. 평생 기술을 사랑해 온 그녀는 홈랩과 오픈 소스 소프트웨어에 열정을 품고 있으며, 복잡한 기술 개념을 누구나 이해하기 쉬운 실습 가이드로 풀어내는 데 전문성을 갖추고 있습니다. Eva는 셀프 호스팅이 어렵고 부담스러운 일이 아니라 즐거워야 한다고 믿습니다. 그녀는 튜토리얼을 통해 커뮤니티가 하드웨어 설정의 어려움을 풀어내고, 첫 NAS를 조립하는 것부터 Docker 컨테이너를 능숙하게 다루는 것까지 도전하도록 돕습니다.

여러 사용자가 함께 쓰는 Jellyfin 환경은 예측 가능한 다이렉트 플레이를 중심으로 구축한 뒤, 예외 상황에 필요한 트랜스코딩, 네트워크, 저장소 및 복구 용량을 추가하세요.

여러 사람이 함께 쓰는 가정에서는 여러 경로에 동시에 부하가 걸립니다. TV 한 대에서는 4K 파일이 다이렉트 플레이되고, 브라우저에서는 동영상 변환이 필요할 수 있으며, 다른 사용자는 라이브러리를 검색하고 백업은 백그라운드에서 시작될 수 있습니다. 연산, 미디어 저장소, Jellyfin 앱 데이터, 네트워크 연결, 백업을 서로 별개의 역할로 다루세요. 그래야 한 경로의 과부하가 다른 모든 사용자의 한계로 이어지는 일을 방지할 수 있습니다.

서버 사양표보다 클라이언트부터 살펴보세요

실제로 미디어를 재생하는 기기를 목록으로 작성하세요. TV, 스트리밍 박스, 브라우저, 휴대폰, 태블릿, 원격 클라이언트를 포함합니다. 대표적인 동영상 코덱, 오디오 형식, 자막 유형, HDR 사용 여부와 일반적인 비트레이트를 기록하세요. 이렇게 하면 ‘사용자 3명’이라는 막연한 수를 구체적인 재생 경로로 바꿀 수 있습니다.

Jellyfin은 클라이언트 기능과 스트림 제약에 따라 다이렉트 플레이, 리먹스 또는 트랜스코딩을 결정합니다. 공식 트랜스코딩 문서에 따르면 클라이언트가 지원 기능 프로필을 보내면 서버가 호환되는 출력을 선택합니다. 따라서 서로 다른 파일을 시청하는 두 사용자가 서버에 주는 부하도 크게 다를 수 있습니다.

먼저 일반적인 사용 환경에 맞춰 설계하세요. 거실의 주요 기기에서 라이브러리를 다이렉트 플레이한다면 모든 스트림이 소프트웨어 동영상 인코딩을 거치는 것처럼 서버 전체의 사양을 정하지 마세요. 대신 변환이 필요한 몇 가지 반복적인 조건, 즉 지원되지 않는 동영상, 오디오 변환, 자막 번인, 비트레이트 제한, 원격 연결의 대역폭을 파악하세요.

Jellyfin 앱 데이터는 빠른 저장소에, 미디어는 대용량 저장소에 두세요

Jellyfin의 활성 데이터 경로와 대용량 미디어 경로를 분리하세요. 데이터베이스, 메타데이터, 인덱스, 캐시, 트랜스코딩 작업 공간에서는 작은 데이터를 자주 읽고 씁니다. 반면 영화와 에피소드 파일은 대부분 크기가 큰 데이터를 순차적으로 읽습니다.

Jellyfin의 하드웨어 선택 가이드에서는 파일의 무작위 액세스 패턴을 고려해 Jellyfin 파일을 SSD에 저장할 것을 권장합니다. 반면 미디어 저장소에는 미디어 비트레이트를 웃도는 순차 처리량만 필요합니다. 따라서 모든 파일을 하나의 대용량 디스크에 넣기보다는 앱 데이터는 SSD에, 미디어는 HDD나 NAS에 저장하는 편이 더 유용합니다.

가져오기 작업, 생성된 이미지, 임시 트랜스코딩 세그먼트를 위해 빠른 스토리지 계층에 여유 공간을 충분히 확보하세요. 앱 데이터 볼륨이 가득 차면 미디어 저장 공간이 넉넉해도 소용없습니다. 병목 경로는 동영상 파일이 아니라 데이터베이스와 캐시가 있는 쪽이기 때문입니다.

서버와 가정 내 네트워크 사이에 신뢰할 수 있는 유선 연결을 하나 확보하기

Jellyfin 호스트는 이더넷으로 연결하고, Wi-Fi는 서버의 기본 업링크가 아닌 클라이언트 측의 편의 기능으로 취급하세요. 각 클라이언트가 여러 무선 액세스 포인트에 분산되어 있어도 여러 사용자의 트래픽은 서버에 집중됩니다.

현재 Jellyfin 네트워킹 가이드는 서버에 이더넷 연결을 권장하며, 로컬 장치 검색은 서브넷 내에서만 작동한다고 설명합니다. VLAN, 게스트 네트워크 또는 여러 서브넷을 사용하는 경우 검색 브로드캐스트가 경계를 넘어갈 것으로 가정하지 말고 명시적인 라우팅과 이름 확인을 계획하세요.

사용량이 많은 시간대에 실제 환경과 비슷한 조건에서 경로를 검증하세요. 스트림 2~3개를 동시에 재생하고, 라이브러리를 둘러보면서 파일을 전송하거나 백업을 실행해 보세요. 저장 장치 트래픽이 발생할 때만 재생 품질이 저하된다면 더 빠른 CPU가 아니라 트래픽 배치, 링크 용량 또는 작업 스케줄링이 해결책일 수 있습니다.

트랜스코딩은 별도의 용량을 확보해야 하는 예외 경로로 취급하기

클라이언트가 원본을 그대로 재생할 수 없으면 동영상 트랜스코딩이 주된 연산 작업이 될 수 있습니다. 하드웨어 가속을 사용하면 호환되는 디코딩, 처리 및 인코딩 단계를 전용 미디어 하드웨어에서 수행할 수 있지만, 지원되지 않는 단계는 CPU로 처리될 수 있습니다.

Jellyfin은 지원되는 가속 방식으로 Intel QSV, NVIDIA NVENC, AMD AMF/VA-API, Apple VideoToolbox, Rockchip RKMPP를 안내합니다. 하드웨어 가속 가이드에서는 부분 가속 시 CPU 부하가 더 높게 유지될 수 있다고도 설명합니다. 따라서 “GPU 활성화됨”이 스트림 전체가 가속된다는 증거는 아닙니다.

까다로운 클라이언트 유형별로 대표적인 트랜스코딩을 하나씩 강제로 실행하고 스트림 세부 정보와 호스트 활동을 확인하세요. ZimaSpace의 하드웨어 트랜스코딩 검증 절차는 대시보드, GPU 활동, FFmpeg 증거를 함께 확인하는 테스트이므로 단순히 설정 스위치만 믿지 않을 때 유용합니다.

가정 내 사용자 계정, 원격 액세스, 관리자 권한 분리

시청 상태, 자녀 보호 설정, 원격 액세스 또는 라이브러리 표시 범위를 다르게 설정해야 하는 가정 구성원이 있다면 각자 Jellyfin 계정을 만드세요. 계정을 공유하면 유용한 분리 기능이 사라지고, 한 사람의 권한을 변경할 때 모두에게 영향을 주지 않도록 조정하기도 어려워집니다.

원격 액세스에는 의도적으로 관리하는 경로만 공개하세요. Jellyfin 네트워킹 문서에서는 인터넷에 직접 노출하지 말라고 경고하며, 역방향 프록시나 VPN 같은 더 안전한 방식을 지원합니다. 특히 서버에서 다른 홈 서비스를 함께 운영한다면 일반 재생보다 관리자 액세스를 더 엄격히 제한하세요.

사용자별 접근 규칙을 설정한 뒤 일반 로컬 사용자, 제한된 사용자, 원격 사용자를 각각 테스트하세요. 관리자는 원활하게 스트리밍할 수 있더라도 다른 프로필에 잘못된 라이브러리가 표시되거나 예상한 네트워크에서 인증할 수 없다면 공유 가정용 환경이 제대로 검증된 것이 아닙니다.

백업, 복구, 확장 기준을 마련해 빌드를 마무리하세요

Jellyfin 상태는 미디어 라이브러리와 별도로 백업하세요. 미디어는 다시 구하거나 다른 일정에 따라 복원할 수 있는 경우가 많지만, 사용자, 시청 상태, 메타데이터 설정, 자막, 서버 구성은 신속하게 복구해야 할 운영 상태일 수 있습니다.

내장 Jellyfin 백업 시스템에는 데이터베이스, 메타데이터, 자막, 트릭플레이 데이터가 포함될 수 있습니다. 동일한 앱 데이터 볼륨과 함께 손실되지 않는 위치에 백업을 저장하고, 설정이 완전히 끝났다고 판단하기 전에 복원 테스트를 수행하세요.

측정 결과가 반복적으로 한계에 도달하는 경우에만 확장하세요. 지속적인 트랜스코딩 과부하, 앱 데이터 지연, 부족한 가용 용량, 시청 시간과 겹치는 백업 작업 시간, 네트워크 경로의 한계 도달 등이 이에 해당합니다. 일반 클라이언트에서 Direct Play가 원활하고, 앱 데이터에 빠르게 응답하며, 복구 테스트까지 마쳤다면 추가 하드웨어는 필수가 아니라 선택 사항입니다.

NAS 및 서버 설정

더 읽어보기

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.