문제가 발생했던 원인
지난번에 라즈베리파이로 Jellyfin 서버 구축하고 드라마랑 영화 올리는 방법까지 포스팅했었는데, 막상 사용하려니까 진짜 미칠 것 같은 문제가 생겼습니다. 크롬 브라우저로 영상 재생하면 3초마다 끊겼습니다.

처음에는 네트워크 문제인 줄 알고 Jellyfin 설정에서 홈 네트워크 품질을 120Mbps에서 20Mbps로, 심지어 10Mbps까지 낮춰봤습니다. 비트레이트도 조절하고 서버도 재시작했는데 전혀 소용없었습니다.

CPU 사용률이 높아 확인해봤는데 문제의 원인은 트랜스코딩이었습니다. HEVC 10bit로 인코딩된 영상을 H264로 실시간 변환하면서 3초짜리 세그먼트를 생성하고 있었는데, 라즈베리파이가 이 작업을 실시간으로 처리하기엔 성능이 딸렸던 겁니다.
분명히 Direct Play 설정을 켜놨는데 왜 트랜스코딩이 발생하는 걸까요? 알고 보니 웹 브라우저는 H264 코덱만 지원하고 HEVC나 VP9, 10bit 영상은 디코딩을 못합니다. 그래서 Jellyfin 서버가 강제로 트랜스코딩을 걸어버리는 겁니다.
끊임없이 보려면? Jellyfin Media Player 설치 - Desktop

결론적으로 이걸 어떻게 해결해야 하나 고민하다가 Jellyfin Media Player라는 전용 플레이어가 윈도우 & 맥 & 리눅스 각각의 버전이있다는 걸 알게 됐습니다. GitHub에서 최신 버전을 다운받을 수 있습니다.(다운로드 링크)

프로그램 초기화면이 나타나면기존의 웹사이트에서 사용해왔듯이 호스트정보를 입력합니다.

서버의 계정을 입력하여 로그인합니다.
이제 끊김이 발생했던 영상들을 재생해보면 이전과 다르게 전혀 끊김없이 부드럽게 동영상을 시청할 수 있을겁니다. 별도의 앱을 사용하면 해결되는 간단한 문제였는데 그동안 삽질을 많이했던거 같습니다..
모바일도 호환됩니다.(Android & IOS)


동일한 jellyfin 안드로이드 & IOS 용 앱도 제공됩니다. 사용방법은 모두 동일하며 별도의 복잡한 설정이나 추가 단계를 요구하지 않기때문에 바로 설치하셔서 사용해볼 수 있습니다.
네트워크 설정 다시 올리기

Media Player 사용하면서 이전에 낮춰뒀던 네트워크 설정도 원래대로 되돌렸습니다. Jellyfin 웹 페이지에서 사용자 설정 - 재생 메뉴로 들어가서 홈 네트워크 품질을 다시 자동으로 올려놨습니다.

추가로 모바일에서는 우측상단 프로필 - 클라이언트 설정 - 비디오 플레이어타입(video player type) - 내장 플레이어(Integrated player)로 설정합니다. 이렇게하면 웹 기반 플레이어가 아닌 내장 플레이어로 동영상이 재생되어 끊김현상이 현저히 줄어들게 됩니다. 단 위 설정에서는 제가 테스트해봤을때 SMI자막은 호환되지않으며 SRT자막일때 호화되는걸 확인했었습니다.
필요하다면 기존의 자막파일들을 SRT로 일괄 변환해서 시청하면 되기때문에 이점은 크게 문제가 되지않았습니다.