Jellyfin은 미디어에 포함된 요소와 요청한 클라이언트가 수용할 수 있는 요소의 차이를 바탕으로 재생 경로를 구성합니다.
이 차이는 컨테이너 리먹스만으로 충분할 정도로 작을 수도 있고, 오디오 변환만 필요할 수도 있으며, 비디오 디코딩, 필터링, 톤 매핑, 자막 합성 및 재인코딩까지 필요할 만큼 클 수도 있습니다. 이 경로를 이해하면 “같은 파일”이 서버에 항상 동일한 작업 부하를 의미하지 않는 이유를 알 수 있습니다. 각 클라이언트의 재생 결정을 기록하여 용량 계획이 일반적인 트랜스코딩이라는 분류가 아니라 Jellyfin이 실제로 호출하는 단계에 맞춰지도록 하세요.
다이렉트 플레이는 변환이 없는 기준점입니다
클라이언트가 원본 컨테이너, 비디오, 오디오 및 자막 경로를 지원하면 서버는 주로 파일을 읽어 전달합니다. 이 기준점은 미디어 전송과 변환 용량을 구분하는 데 도움이 됩니다.
클라이언트 측 오디오 처리 방식에 따라 미디어 파일을 변경하지 않고도 재생 동작이 달라질 수 있습니다. Android TV의 E-AC3 다이렉트 출력은 로컬 PCM 디코딩을 사용했을 때 다이렉트 플레이가 유지된 사례에서 실패했습니다.
다이렉트 플레이가 안정적으로 작동하는 클라이언트와 파일을 하나씩 정하세요. 트랜스코딩된 사례의 CPU, GPU 또는 네트워크 그래프를 비교하기 전에 해당 실행을 기준값으로 사용하세요.
작은 호환성 차이에는 리먹스 또는 오디오 작업만 필요할 수 있습니다
지원되지 않는 컨테이너나 오디오 형식이라고 해서 반드시 비디오 변환이 필요한 것은 아닙니다. 비디오 스트림을 그대로 유지하면 서버 작업 부하를 전체 트랜스코딩보다 훨씬 낮게 유지할 수 있습니다.
클라이언트 호환성 경로에서는 비디오를 변경하지 않은 채 오디오 또는 컨테이너 처리만 변경할 수 있습니다.
모든 다이렉트 플레이가 아닌 세션을 동일하게 취급하기 전에 대시보드의 변환 사유와 FFmpeg 명령을 확인하세요. 측정할 때 스트림 복사, 오디오 변환 및 비디오 인코딩을 구분하세요.
비디오 비호환성은 파이프라인을 확장합니다
비디오 자체를 변경해야 하면 Jellyfin에는 디코딩, 필터링, 크기 조정, 톤 매핑, 자막 번인 및 인코딩이 필요할 수 있습니다. 플랫폼과 미디어에 따라 일부 단계는 하드웨어에서 실행되고 다른 단계는 CPU에 남을 수 있습니다.
코덱 및 필터 작업 부하에 따라 실시간 출력이 달라지므로 프로세서 모델만으로는 Jellyfin 트랜스코딩 용량을 예측할 수 없습니다.
정확한 파일을 사용해 엔진별 GPU 활동과 CPU 사용량을 기록하세요. 하드웨어 가속 스트리밍 경로는 “GPU 활성”이라는 단일 표시만으로 추정하지 말고 단계별로 검증해야 합니다.
재생 결정은 곧 용량 결정이기도 합니다
서버 하드웨어가 바뀌지 않아도 클라이언트 설정, 자막 선택 또는 대역폭 제한에 따라 스트림이 더 무거운 경로로 전환될 수 있습니다. 따라서 용량 계획에는 변환을 유발하는 클라이언트와 정책도 포함해야 합니다.
USE 방법론을 사용하면 트랜스코더가 항상 CPU에 의해 제한된다고 가정하지 않고, 포화되는 리소스에 진단의 초점을 맞출 수 있습니다.
대표적인 클라이언트, 미디어, 자막 및 원격 제한으로 구성된 작은 매트릭스를 만드세요. 그 결과로 나타난 재생 모드를 기록하면 향후 문제가 증상만 보고 추측하는 대신 변경된 결정으로 추적될 수 있습니다.
기술 및 AI 허브
더 읽어보기

비밀 브로커는 프롬프트에 자격 증명을 노출하지 않고 AI 에이전트에 어떻게 제공할까요?
시크릿리스 홈 AI 에이전트 아키텍처를 통해 워크로드 ID, 정책, 토큰 발급, 요청 주입, 정보 삭제, 만료 및 폐기를 추적하세요.

도구 샌드박스는 AI 에이전트의 부작용을 어떻게 억제하나요?
격리, 기능 게이트, 폐기 가능한 상태, 송신 제어, 할당량 및 감사 로그가 작업의 안전성을 입증하지 않고도 AI 에이전트의 부작용을 제한하는 방식을 알아보세요.

제약 디코딩은 스키마에 유효한 JSON을 어떻게 생성하나요?
스키마 컴파일, 토큰 마스킹, 파서 상태, 지원되는 하위 집합, 지연 시간, 잘림, 그리고 구조적 유효성만으로는 올바른 값이 보장되지 않는 이유를 이해하세요.

