1. Jellyfin 소개
상업적으로 많이 사용되는 시놀로지 나스에는 넷플리스와 비슷하게 자신이 가지고 있는 여러 동영상들을 나열해 주고, 이를 선택해 볼 수 있게 하는 비디오 스테이션이란 서비스가 기본으로 내장되어 있다. 그리고, 비디오 스테이션과 별개로 PLEX라는 서비스를 제공한다. 이들은 모두 자신이 가지고 있는 동영상이나 영화들을 라이브러리와 해주고, 외부의 영화 관련 데이터들을 참조해, 관련 정보들을 보기 해 준다. 한마디로 넷플릭스와 유사한 플랫폼을 만들어주는 것이다. 이처럼 본견적인 NAS에는 NAS에 저장된 미디어 파일을 단순히 DLNA 서버 형태로 재종 하는 것 외에, 이처럼 라이브러리를 만들어주는 게 일반적이다.
그런데 라즈베리 파이를 활용해서도 이것과 비슷한 환경을 만들 수 있다.
먼저 라즈베리 파이에 OpenSource NAS 프로그램인 OMV 6 (OpenMediaVault)을 설치하고, 비디오 스테이션과 유사한 환경을 구현해 주는 Jellyfin 이란 프로그램을 도 커 이미지 형태로 설치하면 된다. Docker 이미지의 설치는 그 자체로는 어려울 수도 있으나, 라즈베리 파이에서는 Docker 이미지 설치를 도와주는 Portainer라는 프로그램을 기본적으로 제공하기 때문에, 이를 이용하면 Jellyfin을 아주 쉽게 설치할 수 있다.
참고사항 라즈베리 파이에 OMV 최신 버전(Ver 6)를 설치하는 방법은 다음 글을 참조하기 바란다. https://blog.naver.com/mythee1/223077727279 또한, 라즈베리 파이에서 Docker 지원과 Portainer 서비를 활성화시키는 방법은 다음 글을 참조하기 바란다. https://blog.naver.com/mythee1/223081516290 |
2. Jellyfin 설치방법
라즈베리 파이에 설치된 OMV6에 Jellyfin을 설치하고 설정하는 방법은 다음과 같다.
먼저 Portainer의 Container 메뉴에서 “Add container”를 선택하고,
다음 화면이 되면,
* 이름 부분에 내가 원하는 이름을 소문자로 넣고
* image 부분에는 불러올 docker 이미지 이름인 jellyfin/jellyfin 또는 jellyfin/jellyfin:latest라고 넣어준다.
* 그리고 중간 하단부 포트 번호에는 8096을 기재해 준다. (참고-이 포트 번호는 Dockerhub의 jellyfin 페이지에 기재되어 있다.)
그리고, Deply 명령을 수행한 후, 생성되는 jellyfin containr를 선택하여 다시 편집 모드로 재진입한 들어오거나,
아니면 Deploy 하는 대신 곧바로 아랫부분에 있는 Advanced container setting으로 이동하여
먼저 Restart policy를 “Always”로 변경해 주고
Volume 부분에 자신의 미디어가 저장된 위치들을 기재해 준다. 나는 동영상 파일이 /DLNA-data라는 폴더에 있어서 다음과 같이 표기했다. 이렇게 경로를 표기하려면 먼저 우측 부분에서 Bind를 선택해 준 후 경로를 기재해야 한다.
그리고 Environment 부분으로 이동해서 “+Add and environment..”부분을 선택해 빈칸을 만들고
다음과 같이 3가지의 환경 변수를 기재한다. (참고-이 환경 변수는 Dockerhub의 jellyfin 페이지에 기재되어 있다.)
그리고, 위 화면에 있는 Deploy 버튼을 선택해 주면, 다음과 같이 Jellyfin container가 생성된다. (10~30초 걸린다).
이로써 jellyfin 설치가 간단하게 완료되었다.
3. Jellyfin 사용을 위한 초기 설정
이제 jellyfin을 사용하기 위해 port 부분을 선택해 주면
다음과 같이 환영인사 및 초기 설정을 위한 화면이 나타난다.
여기서 한국어로 변경해 준다.
참고: 만일 위의 화면이 자동으로 열리지 않고, 서버를 접속하라는 화면이 나오면 다음과 같이 ip 주소와 포트 번호를 넣어주면 위의 초기 화면으로 연결된다.
그리고 관리자 정보를 설정하는 화면이 나오는데, 나는 기본 관리자를 admin(기본값은 root임)이라 지정했고, 내가 정한 패스워드를 넣어주었다.
그러면 다음 화면이 되는데ㅡ
위의 화면에서 라이브러리 추가를 선택하면 다음과 같이, 내가 동영상 종류별로 분류해 놓은 폴더들을 지정해 줄 수가 있다.
다음과 같이 해당 폴더에 주로 담겨있는 동영상의 종류를 지정해 주고,
아래로 화면을 내려, 다음과 같이 해당 라이브러리의 동영상을 표시해 줄 언어를 지정한다. 만일 한국어로 지정하면 외화라도 한글로 표시되고, 만일 언어를 영어로 설정하면, 한국 영화라도 영어로 표기되는 것을 이곳에서 지정하게 된다.
그리고 화면을 더 내리면 다음과 같이 실제 동영상 자료들이 들어있는 폴더들을 지정하게 되는데,
나는 해당 컨테이너의 /media 폴더에 Bind된 폴더를 이용하므로, 다음 화면에서 “/media”를 선택해 준다.
그리고 이를 선택하면, 컨테이너의 /media 폴더가 열리면서, (실제로는 이에 매핑된 /DLNA-data 폴더가 열리고), 그 안에 있는 다음의 subfolder들이 보이게 된다.
이 subfolder들 중 내가 실제로 동영상을 넣어둔 movie 폴더를 선택하면 다음과 같이 표기된다.
(참고: 내가 물리적으로 해당 동영상들을 넣어둔 곳은 /DLNA-data/movie이지만, Portainer에서 Jellyfin container를 생성할 때, Advanced seeting의 Volume 부분에서 컨테이너에서 사용하는 “/media” 폴더는 실제로는, 장착된 Disk의 “/DLNA-dta” 폴더로 bind 해 주었기 때문에 이렇게 표기되는 것이다.)
이렇게 동영상 자료가 있는 폴더 지정을 마친 후 설정화면을 더 내려보면 다음과 같이, 해당 동영상 파일에, 외부의 영화정보 등을 연결하여 메타데이터를 만들어주는 설정이 나온다. 이 부분을 설정해 주어야 특정 영화의 제작연도, 배우, 스토리 등의 정보가 외부로부터 다운로드되어, 내가 보유한 동영상 파일과 연계되는 것이다.
(참고로, MovieDB는 시놀로지의 비디오 스테이션에서 현재 사용되고 있는 메타데이터 DB이다.)
이 부분은 다음과 같이 설정해 준다.
이렇게 설정을 마치면, 내가 추가한 영화 라이브러리가 성공적으로 생성된다.
이 라이브러리는 원하는 수만큼 만들 수도 있고, 경로설정 단계에서 여러 개의 폴더들을 하나의 라이브러리에 지정해 줄 수도 있다.
라이브러리를 동영상 종류별로 더 추가하거나, 다음을 선택해 주면 된다.
(라이브러리는 나중에 추가할 수도 있다.)
다음 화면으로 넘어가면, 다음과 같은 화면이 나오고, 그대로 다음으로 진행한다.
그러면 다음과 같은 “완료” 메시지가 나오면서, Jellyfin 설치가 완료된다.
4. Jellyfin 실제 사용
위의 화면에서 다음을 누르거나,
설정이 완료된 상태에서 jellyfin 주로로 접속하는 경우 다음과 같은 화면이 나온다.
초기설정 단계에서 지정한 ID와 Password를 입력해 주면, 로그인이 되면서 다음과 같은 화면이 되는데, 야기에는 내가 미리 지정해둔 폴더에 넣어두었던 동영상들이 나타난다.
그런데, 간혹 드물게 내가 직접 촬영한 동영상임에도 불구하고, 영화로 잘못 인식하여 엉뚱한 포스터들이 표기되는 경우도 있다. 이러한 것은 파일의 제목이나 태 그 자료 등을 이용하여 메타데이터를 불러오는 과정에서 생기는 오류로, 이를 최소화하려면, 영화의 경우, 원래 제목대로 파일 이름을 붙여주고, 불필요한 내용 또한 파일 이름에 포함시키지 않아야 한다. 그리고, 각 폴더에 언어별로 구분하여 정리해서 폴더를 만들어 보관하고, 라이브러리 정보 설정 시 해당 폴더별 언어를 정확하게 지정해 주는 것이 중요하다. (다른 NAS에서도 마찬가지임)
Jellyfin은 다음과 같이 동영상을 마치 도서관에서 책을 진열한 것처럼 보여준다.
그리고, 특정 동영상을 선택해 보면, 해당 동영상에 관련 메타정보가 있는 경우에는 다음과 같은 형태로 스토리와, 제작연도, 관련 배우 정보들이 나타나게 된다. (저작권 문제로 모두 모자이크 처리함)
또한 해당 포스터 부분을 선택하면 실제 동영상을 재생해 준다.
이처럼 jellyfin은 라즈베리 파이에서도, 자신이 보관 중인 영화나 동영상 등을 넷플릭스처럼 아주 예쁘게 보여주고, 활용할 수 있게 만들어준다.

