최종 수정 : 2018-06-24
안녕하세요. 도정진입니다.
U5PVR 의 활용도를 높이기 위하여, U5PVR 은 안드로이드 커널을 공유하는 리눅스 펌웨어가 설치되어 있습니다.
(혹시나 설치가 되어 있지 않다면 설치 게시글을 통해서 설치해 주시길 바랍니다.)
기본 베이스는 debian 8 jessie 입니다. 실은 U5PVR CPU 는 64비트를 지원하는 CPU 입니다만, 안드로이드 시스템 자체가 32비트로 구동되고 있기 떄문에 리눅스 펌웨어도 armhf 패키지에 맞추서 빌드되었습니다.
1. 기본 내장 기능
Plex Media Server (1.4.4.3495)
플렉스 미디어 서버 패키지 입니다. 비공식 레포를 활용하여 설치가 되며 업데이트가 나옴과 동시에 업데이트를 수행하면 최신버전으로 업그레이드를 하실 수 있습니다.
한편, ARM 에서 왜 Plex Media Server 를 사용하냐고는 할 수 있습니다. 트랜스코딩도 원활하지 않은데 왜 사용할까요? 이는 플렉스 미디어 서버가 모든 미디어를 다른 장치로 스트리밍 하는데에 최적화가 되어 있으며 파일만 넣어두면 메타데이터를 찾아서 이쁘게 정리해주는 기능이 있기 때문입니다. Plex Media Server 가 트랜스코딩 기능을 가지고는 있지만, ARM 기반 CPU 파워를 사용해서 트랜스코딩을 하기 때문에 매우 제한적이고 거의 트랜스코딩이 되지 않는다고 생각하시면 편하실 듯 합니다. 다이렉트 플레이나, 음성만 트랜스코딩 하는 경우는 무리가 없습니다.
TVheadend (4.1-2426)
본래 2튜너 입력을 받아들이기 위해서 이온UI (이온TV) 전용으로 만들어진 TVH는 튜너 방송 재생에 특화 되어 있어서 기능이 제한적입니다. 이 문제를 해결하기 위해서 리눅스 펌웨어에 TVheadend 최신 빌드 버전을 내장하게 되었습니다.
USB 튜너 입력을 받아 들여 작동은 되지 않습니다만, IP 프로토콜을 이용하는 HD 홈런은 인식하도록 빌드 되었으며 정상적으로 작동하는 것도 확인을 하였습니다.
Pure-ftpd
FTP 서버 기능으로써 pure-ftpd 패키지를 내장하였습니다. 여타 vsftpd , proftpd 도 있지만 이 pure-ftpd 를 선택한 이유는 U5PVR 리눅스에서 가장 잘 구동되는 FTP 서버이기 때문입니다. 기본적으로 액티브 모드 전송방식 대신에 패시브 모드 방식의 전송을 사용하며 리눅스 실계정을 통한 인증이 아니라 가상계정을 통해 접근을 하도록 되어 있습니다.
ffmpeg 3.2.4
이 ffmpeg 는 static 빌드로 바이너리만 내장이 되어 있습니다. 이 ffmpeg 를 넣어 둔 이유는 TVheadend 의 효용성을 높이기 위함입니다. 먹스를 pipe 로 등록하실 때 사용하시면 됩니다. 혹은, 파일의 컨테이너를 바꾸는 용도로 사용하셔도 됩니다.
transmission-daemon
토렌트를 받는 클라이언트입니다. 기본적으로 웹UI 패치가 작업되어 있습니다.
Python-mutagen
mutagen 패키지는 파일의 태그의 언어셋을 바꿔주는 라이브러리입니다. 이를 리눅스 펌웨어에 내장하고 있으며 토렌트를 통해서 파일을 받은 후에 Plex 에서 라이브러리를 추가하면 한글이 깨지는 경우가 발생합니다. 이 경우를 방지하기 위해서 python-mutagen 패키지를 내장하였습니다.
(삼바의 경우 이미 안드로이드 설정에 내장되어 있는 부분이며, 내부 전용으로만 사용하기 때문에 기본 삼바 서비스를 죽이면서 까지 리눅스 펌웨어에 포함 시키지 않았습니다.)
minidlna
안드로이드에 기본 내장 되어 있는 dlna 의 기능이 문제가 있어서 추가적으로 내장되었습니다.
shairport-sync
아이폰에서 사운드를 U5PVR 로 전송할 수 있습니다.
2. 간단하게 SSH 를 통해 U5PVR 리눅스에 접근해보기.
Xshell 이나 putty 를 통해서 U5PVR 아이피로 접근을 시도해 보면 아래와 같이 리눅스 쉘이 열리게 됩니다.
먼저, 설정으로 이동하여 자신의 아이피를 확인하여 컴퓨터에서 접속하시거나 내장된 JuiceSSH 앱을 통해 127.0.0,1 로 접근하실 수도 있습니다.
저는 이더넷을 통한 IP 가 192.168.100.35 로 잡혀있는 상태입니다.
계정정보는 아래와 같습니다.
접속 주소 : U5PVR 의 이더넷 아이피 혹은 와이파이 아이피
포트 : 22
아이디 : root
패스워드 : androidoverlinux
먼저 Xshell 로 접근을 해 보겠습니다.
호스트 이름을 입력해 줍니다.
생성된 목록으로 접근을 시도하면 아이디와 비밀번호를 물어보게 됩니다. 초기 값으로 로그인을 합니다.
정상적으로 접근이 완료 되었습니다.
다음으로 Putty 를 통해서 접근해 보도록 하겠습니다.
아이피를 입력하고 Open 을 누르면 키 지문을 추가할지 물어봅니다. 예를 누르고 넘어갑니다.
아이디와 비밀번호를 입력하면 아래와 같이 리눅스 쉘이 열립니다.
실행중인 프로세스와 리소스를 일목요연하게 보여주는 htop 패키지를 실행해 보았습니다.
네트워크 구성을 보고 설정할 수 있는 ifconfig 을 실행해 보았습니다.
다음으로 apt-get update 명령어를 입력하여 패키지 리스트를 업데이트 해 보았습니다.
3. Plex Media Server 대시보드 맛보기.
다음은 U5PVR 에 설치된 Plex Media Server 에 웹으로 접근해본 사진입니다.
접근 정보는 아래와 같습니다. 초기에는 계정 및 라이브러리 설정부터 차근차근 하도록 되어 있습니다.
주소 : http://U5PVR아이피주소:32400/web
라이브러리를 몇가지 설정해 둔 스크린샷입니다.
위 사진에서 음악 라이브러리가 한글이 깨지지 않는 것을 볼 수 있습니다. 이 부분은 python-mutagen 패키지를 통해 태그를 utf-16 으로 변환 후 미디어 라이브러리를 생성한 것입니다.
한편, Plex 서버 설치시, 각종 플러그인들을 설치해야하는데 이 부분은 SD카드에 플러그인 파일을 넣어줌으로써 해결이 가능하게 되어 있습니다.
(다음 메타 정보 플러그인, Youtube 채널 플러그인, TVH 플러그인 등등)
4. Transmission-daemon 토렌트 클라이언트 맛보기.
기본적으로 토렌트 클라이언트는 Web UI 를 사용하도록 되어 있습니다.
웹 UI 는 신 버전으로 설치를 해둔 상태입니다.
주소 : http://U5PVR아이피:9091/
아이디 : admin
비밀번호 : androidoverlinux
포트 포워딩을 통해서 핸드폰 transmission remote 앱으로 컨트롤이 가능합니다.
5. TVHeadend 맛보기.
TVHeadend 는 기본적으로 아래의 방법으로 접근합니다.
주소 : http://U5PVR아이피:9981/
아이디 : admin
비밀번호 : androidoverlinux
HD 홈런 지원을 하는 TVheadend 4.1-2426 버전이 내장되어 있습니다.
(차후에 업데이트 릴리즈가 있을 예정입니다.)
다음으로 이온TV 의 내장 TVHeadend 입니다.
주소 : http://U5PVR주소:19981/
기본적으로 ID : PW 가 없는 상태입니다.
아래처럼 이온TV 에 최적화된 3.6버전의 TVheadend 가 설치되어 있습니다.
다음 글 부터 기본 기능에 대해서 자세히 알아볼 예정입니다.
감사합니다.