Direct Play, 톤 매핑 또는 자막 화면 입히기를 유발하는 클라이언트-파일-자막 조합을 직접 테스트해 HDR 및 자막용 Jellyfin 서버 사양을 정하세요.
지원 클라이언트가 원본 비디오, 오디오, 컨테이너 및 자막 재생 경로를 그대로 처리하면 HDR 재생에 서버 자원이 거의 들지 않지만, 같은 파일도 다른 화면에서는 부하가 큰 변환을 유발할 수 있습니다. 소규모 작업 부하 표를 만들고, 불가피한 비디오 작업에는 하드웨어 가속을 사용하며, 필터링과 대체 처리 단계를 위한 CPU 여유분을 확보하세요. RAM을 늘리거나 GPU를 추가하거나 연산과 저장소를 분리하기 전에 가정에서 가장 부하가 큰 상황을 검증하세요.
클라이언트, HDR 형식, 자막 유형을 기준으로 사양 산정표 만들기
중요한 화면을 모두 나열하세요. 메인 HDR TV, SDR TV나 프로젝터, 브라우저, 휴대폰, 태블릿, 원격 클라이언트가 여기에 포함됩니다. 각 기기에서 자막 없이, 일반 텍스트 자막과 함께, 그리고 라이브러리에 실제로 있는 이미지 기반 또는 스타일이 적용된 자막 형식과 함께 대표적인 4K HEVC HDR 파일을 테스트하세요.
기기에 ‘4K 지원’이라고만 적는 대신 실제 재생 경로를 기록하세요. 같은 클라이언트도 HDR 영상 하나는 직접 재생하고, 컨테이너나 오디오 형식 때문에 다른 영상은 리먹스하며, 자막을 기기에서 렌더링할 수 없으면 비디오 변환이 필요할 수 있습니다. 서버 사양은 이 재생 경로를 기준으로 정해야 합니다.
실제로 사용할 비트레이트와 프레임 레이트로 테스트하세요. 짧은 데모 영상만으로는 비트레이트가 높은 장편 영화, 특이한 자막 트랙 또는 원격 재생 품질 제한에서도 같은 방식으로 재생된다고 확인할 수 없습니다.
기본 HDR 재생과 HDR-SDR 변환 구분하기
HDR을 지원하는 클라이언트가 원본을 재생할 수 있으면 서버는 대부분 데이터를 전달하므로 필요한 컴퓨팅 성능은 크지 않습니다. 까다로운 상황은 대상 기기에서 SDR이나 호환되지 않는 다른 출력 형식이 필요해 서버가 새 비디오 스트림을 위해 디코딩하고 색상과 밝기를 변환한 다음 인코딩해야 할 때 발생합니다.
불가피하게 변환해야 한다면, 대시보드 옵션을 켰다고 GPU가 작동한다고 여기지 말고 실제 호스트에서 하드웨어 가속 Jellyfin 트랜스코딩을 설정하고 확인하세요. 하드웨어 미디어 엔진을 사용하면 일반 CPU 작업량을 크게 줄일 수 있지만, 전체 변환 경로는 여전히 코덱, 드라이버, 필터, 권한 및 클라이언트 요청에 따라 달라집니다.
라이브러리의 모든 HDR 파일이 아니라 실제로 필요한 변환을 기준으로 사양을 정하세요. 원격 SDR 기기 하나에만 톤 매핑이 필요하다면, 검증된 고부하 경로 하나가 적절한 기준입니다. 가정 내 사용자 두 명이 동시에 해당 경로를 실행할 수 있다면 서버 사양이 충분하다고 판단하기 전에 두 건을 동시에 테스트하세요.
자막 번인을 별도의 사양 결정 요소로 고려하세요
서버 리소스를 산정할 때 자막은 사소한 장식 요소가 아닙니다. 클라이언트에서 렌더링할 수 있는 텍스트 트랙은 Direct Play를 유지할 수 있지만, 이미지 기반 자막이나 호환되지 않는 자막은 서버가 모든 비디오 프레임에 자막을 렌더링해야 할 수 있습니다. 그러면 부하가 적던 세션도 전체 비디오 파이프라인을 가동하게 됩니다.
자막으로 인한 트랜스코딩을 다룬 독립 가이드에서는 클라이언트가 직접 렌더링할 수 없을 때 PGS와 VobSub가 Jellyfin의 번인을 유발할 수 있는 일반적인 사례라고 설명합니다. 콘텐츠에 적합하다면 텍스트 기반 SRT 옵션을 유지하되, 품질이나 스타일이 중요한 경우에는 원본 트랙을 보존하고 번인이 필요한 클라이언트를 기준으로 서버 사양을 정하세요.
두 가지 요구 사항이 겹칠 수 있으므로 동일한 HDR 파일로 자막을 테스트하세요. 한 번의 요청에서 서버가 디코딩, 자막 렌더링, HDR-SDR 톤 매핑, 스케일링 및 인코딩을 처리해야 할 수 있습니다. 바로 이 조합된 경로가 단순히 “4K”인 경우보다 사양이 부족하거나 일부만 가속되는 구성을 드러낼 가능성이 큽니다.
CPU, 미디어 엔진, 메모리를 서로 다른 역할로 할당하세요
플랫폼에서 가속할 수 있는 경우 지원되는 디코딩, 필터링, 톤 매핑 및 인코딩 단계에 하드웨어 비디오 엔진을 사용하세요. Jellyfin 자체, 오디오 변환, 소프트웨어 처리로 전환되는 자막 관련 작업, 데이터베이스 활동 및 호스트를 공유하는 다른 서비스에 사용할 CPU 여유를 확보하세요.
HDR 재생에서 메모리는 대개 첫 번째 병목이 아니므로, 32GB를 비디오 품질 향상으로 여기지 마세요. 작업 부하가 대부분 Direct Play라면 Jellyfin 전용 호스트는 적은 사양으로도 충분합니다. 다른 컨테이너, 가상 머신, 대용량 캐시 또는 동시에 실행되는 백그라운드 서비스로 측정 가능한 메모리 부담이 생길 때 메모리를 추가하세요.
크기 결정의 기준은 목표 파이프라인에서의 리소스 동작입니다. GPU/비디오 엔진에 여유가 있고, 대체 처리 단계 때문에 CPU가 한계에 도달하지 않으며, 메모리 스와핑이 발생하지 않고, 재생 버퍼에 충분한 여유가 유지된다면 코어 수나 RAM을 늘려도 테스트한 스트림의 성능은 향상되지 않습니다.
앱 데이터를 빠른 스토리지에 두고 트랜스코딩 임시 공간에 충분한 처리량을 확보하세요.
Jellyfin 설정, 데이터베이스, 메타데이터, 캐시는 지연 시간이 짧은 SSD에 두세요. 영화와 에피소드 같은 대용량 콘텐츠는 원본 비트레이트를 안정적으로 제공할 수 있는 대용량 스토리지에 보관하고, 장시간 세션 중 시스템 디스크가 가득 차지 않을 경로에 트랜스코딩 작업 공간을 마련하세요.
미디어가 별도의 NAS에 있다면 테스트에 연산 장치와 스토리지 간의 연결 경로도 포함하세요. 부하가 큰 트랜스코딩은 새 출력을 클라이언트로 보내기 전에 해당 경로를 통해 원본을 읽으며, 동시에 백업이나 파일 전송이 같은 경로를 사용할 수 있습니다.
재생에 문제가 생기면 자막 처리 또는 HDR 변환 중 Jellyfin 버퍼링 문제 진단에서 설명한 것과 같은 단계별 방법을 사용하세요. 먼저 Direct Play와 트랜스코딩 중 어느 쪽인지 확인한 다음 자막, 톤 매핑, 하드웨어 가속, 스토리지, 네트워크 동작을 하나씩 분리해 살펴보세요. 현재 병목 지점을 파악하기 전에는 연산 성능을 더 높이려고 장비를 구매하지 마세요.
최악의 스트림 하나를 검증한 다음 동시성을 신중하게 높이세요
가장 까다로운 HDR 소스, 번인이 필요할 가능성이 가장 높은 자막 형식, 실제로 지원하는 클라이언트 중 성능이 가장 낮은 기기를 포함해 반복해서 사용할 수 있는 검증 세트를 만드세요. 세션 하나로 시작해 재생 상태, CPU, GPU/비디오 엔진 사용량, 트랜스코딩 속도 또는 버퍼 상태, 메모리, 온도를 기록하세요.
한 경로가 안정화된 다음에야 실제 가정 내 사용이 겹치는 상황을 나타내는 두 번째 동시 사용자나 백그라운드 작업을 추가하세요. 목적은 보편적인 스트림 수를 알아내는 것이 아니라, 사용 중인 미디어, 클라이언트, 하드웨어가 특정 단계를 포화시키지 않고 감당할 수 있는 동시성 수준을 찾는 것입니다.
가장 부하가 큰 예상 조합을 여유를 두고 반복해서 처리할 수 있다면 증설을 멈추세요. 측정된 문제의 담당 원인이 명확할 때만 하드웨어를 추가하거나 변경하세요. 코덱 경로가 없다면 다른 미디어 엔진이 필요하고, 소프트웨어 폴백이 반복된다면 CPU를 늘리거나 가속 성능을 개선해야 합니다. 스토리지 경합에는 토폴로지 변경이 필요하며, 공존할 수 없을 정도로 동시 작업이 많다면 전용 트랜스코딩 노드를 고려할 수 있습니다.
NAS 및 서버 설정
더 읽어보기

기숙사 서버는 잠을 자거나 공부하고 화상 통화를 할 때 방해되지 않을 만큼 조용하게 작동할 수 있을까요?
네, 전력 소비가 적은 하드웨어를 사용하고, 저장 장치의 진동을 제어하며, 부하가 큰 작업은 예약하고, 방 안에서 소음을 확인하면 기숙사 서버를 조용히 사용할 수 있습니다.

기숙사에서 첫 자취방으로 옮겨갈 수 있는 학생용 홈랩
서비스를 특정 공간의 네트워크 환경과 분리하고, 하드웨어를 최소화하며, 상태를 백업하고, 깔끔하게 이전하는 과정을 미리 연습해 학생용 홈랩을 휴대하기 편하게 유지하세요.

계정이나 개인 파일을 공유하지 않고 룸메이트와 하나의 홈 서버를 공유하는 방법
모든 룸메이트에게 이름이 부여된 계정과 개인 저장 공간을 제공하고, 필요한 공유 역할만 부여하세요. 관리, 백업, 계정 정리는 별도로 처리하세요.



