Mac OS X 그리고 DLNA 미디어 서버

맥에 저장된 동영상 파일을 TV로 감상하기 위해 여러 종류의 미디어 서버를 테스트 해 보았다. 테스트 하면서 겪었던 경험을 토대로 현 시점(2014년 2월 15일)에서 가장 괜찮은 DLNA 미디어 서버를 소개하고 설정하는 방법을 공유하고자 한다. (설정법만 보기 위해서는 다음 단락으로 넘어가도 좋다)

먼저, 미디어 서버를 테스트하면서 확인한 사항은 아래와 같았다.

  • TV에서 미디어 서버 인식
    • 당연한 내용이지만 TV에서 검색 안되는 미디어 서버도 있었다
  • 자막지원(SMI, SRT) 및 자막 인코딩 문제
  • 다양한 동영상 코덱을 재생하기 위한 Transcoding 지원 여부

위 사항을 바탕으로 PS3 Media Server(PMS), Universal Media Server(UMS), Plex Media Server, Serviio, XBMC 등을 테스트 해보며 최종적으로 UMS(PMS와 같은 계열이다)와 Serviio가 후보에 올랐다.

그리고, Universal Media Server를 제치고 Serviio를 선택하게 되었는데 그 이유는 아래와 같다.

  • UMS는 동영상 트랙에 있는 자막이 아닌 외부자막(한글자막)을 제대로 보기 위해 Transcoding 폴더를 통해서 인코더를 매번 선택해야하는 번거로움이 있었다.
  • SMI, SRT 모두 지원하지만 기본 인코더인 MEncoder의 경우 영상과 음성의 동기화가 잘 맞지 않았고 이를 맞추면 화질이 많이 떨어졌다.
  • FFMpeg을 선택하여 Transcoding을 하였을 경우 화질/동기화 문제는 없지만 원하는 글꼴로 자막표기가 잘 안되었다.
  • Transcoding을 하게 되면 구간 건너뛰기 기능 등을 사용할 수 없었다. (Serviio는 LG TV 기준 2배속 재생까지 되었다)
  • 요약하면, 원하는 바가 아예 안되는 것은 아니지만 번거로움이 Serviio에 비해서 컸다.

Serviio

Serviio 다운로드

Download

Serviiohttp://serviio.org 사이트에서 Download 메뉴를 통해서 받을 수 있다. 설치 후 15일 동안 Pro 버전으로 동작하고 구매를 하지 않을 경우에는 자동으로 Free 버전으로 변경 된다.

Free vs Pro

Free 버전과 Pro 버전은 위와 같은 차이점이 존재하는데 Free 버전으로도 동영상 감상에 전혀 지장이 없기 때문에 신경 쓸 필요는 없다.

Serviio 실행

app

Serviio를 설치하면 Serviio와 Serviio-Console이라는 2개의 어플리케이션이 생기며 미디어 서버 역할을 하는 Serviio를 먼저 실행하고 환경 설정을 위한 Serviio-Console을 실행하면 된다.

Serviio-Console은 설정을 목적으로 실행하기 때문에 설정이 완료 된 이후에는 설정을 바꾸고자 하지 않는 이상 Serviio만 실행하면 된다.

Serviio 제약사항

Serviio를 설정하기 전에 Serviio의 제약사항에 대해서 이야기하면

  • SAMI(smi)자막은 한글 지원이 제대로 되지 않았다.

국내에서 많이 사용되는 smi가 안되기 때문에 SubRip(srt)자막을 사용하게 되었는데 srt의 경우 한글에 대해서는 UTF-8로 지정해도 글자가 깨졌고 cp949(euc-kr, Korean Windows)로 저장했을 때 제대로 표기 되었다.

개인적으로 UTF-8로 자막파일을 관리하기 때문에 불편했던 부분인데 몇 가지 테스트 결과 Serviio가 UTF-8을 지원 함에도 깨졌던 이유가 BOM이 없어서 였다. 즉, Byte Order Mark이 없으면 UTF-8로 한글자막을 저장해도 제대로 표현을 못하는 문제가 있었던 것이다.

따라서, 한글자막을 위해서는 srt 파일을

  • cp949 (euc-kr, Korean Windows)
  • UTF-8 with BOM

위 두 종류 중에서 한가지로 저장해야만 제대로 표기가 된다.

Serviio 설정

korean

한글 메뉴를 보기 위해서는 Serviio-Console을 실행 후 “Console Settings” 메뉴에 들어가서 “한국어”를 선택하고 Serviio-Console을 재시작 해준다.

library

위 그림과 같이 “라이브러리 > 공유폴더”로 들어가서 동영상 파일이 저장된 경로를 추가해 주고 비디오, 자동갱신 체크 박스를 선택해 준다. (여기에 추가 된 폴더는 TV에서 DNLA 서버를 선택 했을 때 “비디오 > 폴더”에서 확인 할 수 있다)

여기까지만 설정해도 동영상을 TV에서 재생할 수 있다. 이제 자막이 필요한 영상을 위한 설정을 살펴보면

transcoding

“Delivery”메뉴를 선택한 후 트랜스코딩 사용함에 체크 하도록 한다. 그리고, Subtitles 탭에서 3개의 체크 박스를 모두 선택하고 인코딩은 “UTF-8”로 지정한다. UTF-8로 지정하더라도 cp949 코드로 저장된 srt 한글자막도 잘 나온다. (즉, UTF-8 with BOM, cp949 모두 사용이 가능하다)

encoding

“Preferred Language”는 선호하는 언어를 지정하는 부분으로 보이지만 어차피 SAMI(smi)에서 한글이 제대로 안되므로 별 의미는 없다.

여기까지 설정하고 저장을 누르면 이제 한글 자막이 제대로 지원되는 DLNA 서버 준비가 끝나며 감상하는 일만 남았다.

추가로…

맥에서 SAMI(smi) 자막을 변환하기 위해서 내가 사용하는 방법은 MinySubtitleConverter라는 툴을 이용한다. 다만, cp949(euc-kr)로 저장된 파일을 변환 시키면 간혹 한글이 일부 깨져서 저장되는 증상이 발견되서 변환 전에 SAMI(smi) 자막을 UTF-8로 먼저 저장해서 변환하는 편이다.

문자인코딩 변환은 TextWrangler나 iconv 등 본인이 편한 툴을 이용해서 변환하면 된다.

어찌보면 별거 아닌 내용이다. 계속 붙잡고 있던 것은 아니지만 불편한대로 감상하다가 Serviio에서 UTF-8로 저장된 한글 자막이 제대로 안보이는 증상을 해결하려고 틈틈히 삽질을 했었고 Serviio는 까칠하게도 Byte Order Mark를 꼭 포함 해 줘야 했다.