부분적으로 그렇습니다. 클라이언트의 기능과 사용자 기본 설정에 따라 선택 및 번인 동작이 달라질 수 있지만, 많은 서버는 각 물리 장치에 모든 규칙을 독립적으로 적용할 수 없습니다.
TV, 브라우저, 휴대폰, 스트리밍 박스가 서로 다른 자막 형식을 지원하고 각기 다른 트랜스코딩 경로를 사용할 때 이는 실제 호환성 문제가 됩니다. 폐기 가능한 경로나 계정으로 시작하고, 이전에 작동하던 상태를 유지한 다음, 일회성 연결 테스트가 아니라 원래 워크로드를 기준으로 설계를 판단하세요.
예약 및 수명 주기 계약 정의
지원되는 분기는 실제 코덱 지원에 맞춘 별도의 사용자 또는 클라이언트 프로필입니다. 경쟁 분기는 모든 클라이언트에서 동일하게 작동한다고 가정하는 하나의 전역 기본 설정입니다. 어느 분기를 변경하기 전에 버전, ID, 주소, 마운트 경로, 권한 및 현재 관찰 가능한 상태를 기록하세요.
관련 Jellyfin 코덱 지원 문서는 첫 번째 호환성 경계를 정의합니다. 이를 사용해 주장을 제한한 다음, 문서화된 기능이 전체 설계의 작동을 입증한다고 간주하지 말고 이 정확한 홈 서버에서 동일한 동작을 확인하세요.
테스트 전에 판단 규칙을 작성하세요. 성공은 각 대상 클라이언트가 의도한 사용자 프로필에서 허용 가능한 트랙을 선택하고 불필요한 비디오 번인을 피하는 것이어야 합니다. 실패에는 클라이언트가 규칙을 무시하거나, 강제 트랙을 잘못 선택하거나, 자막을 번인하여 서버에 과부하를 일으키는 경우가 포함됩니다. 이렇게 하면 부분적인 연결이나 명령의 정상 종료를 종단 간 호환성으로 잘못 해석하는 일을 방지할 수 있습니다.
프로덕션 ID로 작업 실행
하나의 통제된 판별 기준을 사용하세요. 각 클라이언트에서 동일한 미디어와 자막 트랙을 사용하고, 선택된 트랙, 다이렉트 재생과 트랜스코딩 여부, 스타일 지정 및 대체 동작을 기록하세요. 변경된 구성 요소만 유일하게 가능한 원인이 되도록 클라이언트, 워크로드, 파일 세트, 계정 및 타이밍을 일정하게 유지하세요.
WebVTT 자막 형식을 사용해 이 경로에서 중요한 두 번째 관찰 항목을 선택하세요. 트랜잭션의 양쪽을 모두 캡처하세요. 리졸버 또는 경로, 협상된 프로토콜, 프로세스 ID, 종료 상태, 지연 시간, 전송된 바이트 및 복구 이벤트를 기록해야 합니다.
제목에 명시된 수명 주기 이벤트(재생성, 재연결, 재마운트, 재시작, 장애 조치 또는 클라이언트 변경) 후에 테스트를 반복하세요. 이전 소켓, 캐시 또는 자격 증명이 활성 상태로 유지될 때만 작동하는 설계는 통과한 것이 아닙니다.
동일한 미디어 + 동일한 자막 트랙 -> TV, 브라우저, 휴대폰 테스트 -> 다이렉트 재생/트랜스코딩 및 선택된 트랙 기록
겹침, 실패 및 종료 상태 해석
통과: 각 대상 클라이언트가 의도한 사용자 프로필에서 허용 가능한 트랙을 선택하고 불필요한 비디오 번인을 피합니다. 이 상태를 만든 정확한 버전과 토폴로지를 저장하세요. 결론은 프로토콜의 모든 구현이 아니라 해당 조건에 적용되기 때문입니다.
실패: 클라이언트가 규칙을 무시하거나, 강제 트랙을 잘못 선택하거나, 자막을 번인하여 서버에 과부하를 일으킵니다. 어느 주요 분기가 원인이라고 선언하기 전에 DNS, MTU, ID, 방화벽 상태, 스토리지 지연 시간 및 캐시된 세션과 같은 공유 종속성을 확인하세요.
예외: 전역 안전 규칙을 복원하고, 지원되는 경우 사용자를 분리하며, 통제된 클라이언트 테스트에서 실패한 형식만 미리 변환하세요. 반복 가능한 관찰을 통해 어느 경계에서 실패했는지 확인하기 전에는 권한을 확대하거나, 원본 데이터를 삭제하거나, 전송 보안을 약화하거나, 작동 중인 스토리지를 교체하지 마세요.
첫 실행이 아니라 다음 예약 실행 확인
관찰된 분기에 맞는 작업만 적용한 다음 원래 워크로드를 다시 실행하세요. 두 번의 관련 수명 주기와 예상되는 동시 부하에서 각 대상 클라이언트가 의도한 사용자 프로필에 따라 허용 가능한 트랙을 선택하고 불필요한 비디오 번인을 피할 때만 설계를 유지하세요.
별도의 클라이언트 프로필을 사용해 가장 가까운 종속 워크플로를 확인하세요. 새 설계가 활성화된 동안에도 해당 워크플로의 액세스, 타이밍 및 복구 동작은 변하지 않아야 합니다.
클라이언트가 규칙을 무시하거나, 강제 트랙을 잘못 선택하거나, 자막을 번인하여 서버에 과부하를 일으키면 중지하고 저장된 상태로 돌아가세요. 또 다른 우회 방법을 추가하는 대신 타임스탬프, 정확한 버전, 경로 또는 마운트 증거 및 가장 작은 재현 사례를 포함해 에스컬레이션하세요.
클라이언트 재생 기능과 결과를 대조하여 위험이 다른 네트워크, ID, 백업 또는 스토리지 계층으로 단순히 이동하지 않았는지 확인하세요.
클라이언트별 자막 동작에 대한 적절한 답변은 따라서 서두의 판단과 같습니다. 무조건적인 예가 아닙니다. 관찰 가능한 통과 상태가 승인 기준선이고, 실패 상태가 롤백 기준선입니다.
FAQ
자막 기본 설정은 사용자 또는 장치에 연결되나요?
대개 사용자 또는 클라이언트 구현에 연결됩니다. 하나의 계정으로 사용하는 두 장치가 서로 다른 동작을 유지할 수 있는지 확인하세요.
자막 하나 때문에 비디오 트랜스코딩이 강제로 실행되는 이유는 무엇인가요?
클라이언트가 해당 형식이나 스타일을 렌더링하지 못할 수 있으므로 서버가 자막을 비디오에 번인할 수 있습니다.
비디오 트랜스코딩 없이 자막 변환이 가능한가요?
경우에 따라 가능합니다. 서버가 텍스트 트랙을 리먹스하거나 변환할 수 있고 클라이언트가 그 결과를 허용하는 경우입니다.
지원 및 팁
더 읽어보기

셀프 호스팅 갤러리에서 Apple Live Photo 페어링을 보존할 수 있나요?
Apple Live Photo 페어링을 위한 조건부 홈 서버 결정 가이드로, 통제된 테스트, 결과 해석, 롤백 및 핵심 FAQ를 포함합니다.

Google Takeout과 휴대폰 백업을 하나의 사진 라이브러리로 가져올 수 있나요?
사진을 한꺼번에 가져오기 위한 조건부 홈 서버 결정으로, 통제된 테스트, 결과 해석, 롤백 및 핵심 FAQ를 포함합니다.

Immich는 파일 소유권을 가져가지 않고 외부 라이브러리를 사용할 수 있나요?
Immich 외부 라이브러리 소유권을 위한 조건부 홈 서버 결정 가이드로, 통제된 테스트, 결과 해석, 롤백 및 핵심 FAQ를 제공합니다.

