U5PVR 리눅스 펌웨어 기본 패키지 (Plex, TVheadend, FTP, Torrent)




안녕하십니까 ?  EddyLab입니다.


U5PVR 제품관련 동영상을 올려 드린 바 있습니다. 

[EddyLab] U5PVR 방송 시청 및 동영상 재생 리뷰 1
http://cafe.naver.com/mk802/19962

U5PVR 구글 드라이브 연동하기 [rclone]
http://cafe.naver.com/mk802/20173


U5PVR = Q10Pro + 지상파 케이블 방송 2튜너 (PVR) + 리눅스 지원 기능입니다..


오늘은 U5PVR에서 리눅스 지원 관련 기능을 먼저 간단히
소개해 드리도록 하겠습니다.
(U5PVR리눅스는 데스트탑 UI가 나오는 것은 아니고, 
Shell이라는 명령어로 운영할 수 있는 아주 가벼운 형태의 리눅스(데비안)이 탑제되어 있습니다.
좀 더 기술적으로 정확히 이야기 드리면, 도커(Docker)와 같은 개념으로
안드로이드의 커널을 같이 쓰는 리눅스 입니다.)


리눅스라고 무조건 어려운 것은 아닙니다. ^^


리눅스의 장점은 가벼운 OS환경에서 서버급 기능을 쉽게 구현할 수 있다는 점입니다.


이는 기존의 안드로이드 셋탑은 개인화 기기라고 표현한다면,
안드로이드 + 리눅스 셋탑은 NAS 기기라고 표현할 수 있습니다.

NAS는 댁내외 언제 어디서든지, 동시에 여러 접속자가 붙어도
동시에 여러가지 기능을 수행 할 수가 있습니다.

즉, U5PVR로 메인 TV에서 지상파 방송 시청 중에,
댁내에서 또는 외부(포트포워딩 필요)에서 다른 지상파 채널을 시청이 가능하거나,
연결된 HDD의 컨텐츠를 스트리밍으로 재생 시청이 가능하게 됩니다. 


이러한 여러가지 기능을 수행하기 위하여서
어려운 리눅스 OS 설치작업 및 서버 설정등을 단순화 하여
운영이 가능하도록 개발한 제품입니다.
(물론 기본적으로 컨텐츠, 채널 정보는 개인이 가지고 있어야 하며,
추가로 클라이언트 설정은 하셔야 합니다.) 

하기 리눅스 기능은 U5PVR에 기본적으로 설치된 내용만 소개되어 있고,
기타 다른 리눅스 서버 기능은 본인이 원하시면 설치를 하시면 운영이 가능합니다.

그만큼 확장성이 대폭 넓어진 제품임에는 분명하고,
쓰임의 용도는 유저의 레벨에 따라서 더 많은 기능을 구현하실 수 있습니다.
(물론 U5PVR의 HW퍼포먼스를 고려하여 CPU부하가 많이 걸리는 작업은
밸런스를 고려하시고 운영을 하시는 것이 좋습니다. ^^)

먼저 U5PVR의 리눅스 기본 기능을 하기 내용으로 소개 해 올립니다.



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 패키지를 내장하였습니다.


(삼바의 경우 이미 안드로이드 설정에 내장되어 있는 부분이며, 내부 전용으로만 사용하기 때문에 기본 삼바 서비스를 죽이면서 까지 리눅스 펌웨어에 포함 시키지 않았습니다.)



2. 간단하게 SSH 를 통해 U5PVR 리눅스에 접근해보기.


Xshell 이나 putty 를 통해서 U5PVR 아이피로 접근을 시도해 보면 아래와 같이 리눅스 쉘이 열리게 됩니다.


먼저, 설정으로 이동하여 자신의 아이피를 확인하여 컴퓨터에서 접속하시거나 내장된 JuiceSSH 앱을 통해 127.0.0,1 로 접근하실 수도 있습니다.


저는 이더넷을 통한 IP 가 192.168.100.35 로 잡혀있는 상태입니다.



계정정보는 아래와 같습니다.


접속 주소 : U5PVR 의 이더넷 아이피 혹은 와이파이 아이피

포트 : 22

아이디 : root

패스워드 : u5pvr


먼저 Xshell 로 접근을 해 보겠습니다.


호스트 이름을 입력해 줍니다.



생성된 목록으로 접근을 시도하면 아이디와 비밀번호를 물어보게 됩니다. 초기 값으로 로그인을 합니다.




정상적으로 접근이 완료 되었습니다.



다음으로 Putty 를 통해서 접근해 보도록 하겠습니다.



아이피를 입력하고 Open 을 누르면 키 지문을 추가할지 물어봅니다. 예를 누르고 넘어갑니다.



아이디와 비밀번호를 입력하면 아래와 같이 리눅스 쉘이 열립니다.



실행중인 프로세스와 리소스를 일목요연하게 보여주는 htop 패키지를 실행해 보았습니다.



네트워크 구성을 보고 설정할 수 있는 ifconfig 을 실행해 보았습니다.



다음으로 apt-get update 명령어를 입력하여 패키지 리스트를 업데이트 해 보았습니다.





3. Plex Media Server 대시보드 맛보기.


다음은 U5PVR 에 설치된 Plex Media Server 에 웹으로 접근해본 사진입니다.


접근 정보는 아래와 같습니다. 초기에는 계정 및 라이브러리 설정부터 차근차근 하도록 되어 있습니다.



라이브러리를 몇가지 설정해 둔 스크린샷입니다.



위 사진에서 음악 라이브러리가 한글이 깨지지 않는 것을 볼 수 있습니다. 이 부분은 python-mutagen 패키지를 통해 태그를 utf-16 으로 변환 후 미디어 라이브러리를 생성한 것입니다.


한편, Plex 서버 설치시, 각종 플러그인들을 설치해야하는데 이 부분은 SD카드에 플러그인 파일을 넣어줌으로써 해결이 가능하게 되어 있습니다.

(다음 메타 정보 플러그인, Youtube 채널 플러그인, TVH 플러그인 등등)




4. Transmission-daemon 토렌트 클라이언트 맛보기.


기본적으로 토렌트 클라이언트는 Web UI 를 사용하도록 되어 있습니다.


웹 UI 는 신 버전으로 설치를 해둔 상태입니다.


주소 : http://U5PVR아이피:9091/

아이디 : u5pvr

비밀번호 : u5pvr


포트 포워딩을 통해서 핸드폰 transmission remote 앱으로 컨트롤이 가능합니다.




5. TVHeadend 맛보기.


TVHeadend 는 기본적으로 아래의 방법으로 접근합니다.


주소 : http://U5PVR아이피:9981/

아이디 : u5pvr

비밀번호 : u5pvr



HD 홈런 지원을 하는 TVheadend 4.1-2426 버전이 내장되어 있습니다.

(차후에 업데이트 릴리즈가 있을 예정입니다.)



다음으로 이온TV 의 내장 TVHeadend 입니다.



기본적으로 ID : PW 가 없는 상태입니다.


아래처럼 이온TV 에 최적화된 3.6버전의 TVheadend 가 설치되어 있습니다.




다음 글 부터 기본 기능에 대해서 자세히 알아볼 예정입니다.


감사합니다.




http://cafe.naver.com/mk802/20190


+ Recent posts