안녕하세요. 이번에는 TVHeadend 사용법에 대해서 알아보도록 하겠습니다.


먼저 U5PVR 에는 원하는 기능을 모두 지원하기 위해서 TVHeadend 를 2개 내장하고 있습니다.


1. TVH

http://U5PVR아이피:19981/


2. TVH

http://U5PVR아이피:9981/

아이디 : u5pvr

비밀번호 : u5pvr


1번은 내장 TVHeadend 이고 안전성과 기능성을 구비하기 위해서 커스텀 된 3.6버전을 사용하고 있습니다. 이 버전은 이온TV 에 최적화 되어 있기 때문에 기능이 제한적입니다. 


이 문제를 해결하기 위해서 리눅스 펌웨어에 TVHeadend 4.1 버전을 내장하고 있습니다. 4.1 버전에서 지원하는 내용은 아래와 같습니다.


1. HD 홈런 연동 지원

2. EPG (internal & external 지원)

3. 파이프 FFMPEG 지원


민감한 내용이기 때문에 상세한 가이드는 작성하지 않도록 하겠습니다.


이 글에서 주로 다루는 내용은 TVH 1 서버의 방송을 TVH 2 에 붙이는 것입니다.


그럼 시작합니다.


1. 접근 하기 및 superuser 계정 수정하기


아래 위치의 파일을 수정하여 계정을 바꿉니다.


root@u5pvr-debian:~# nano /home/tvheadend/tvheadend/superuser


{

"username": "u5pvr",    <-- 아이디 입력

"password": "u5pvr"    <-- 비밀번호 입력

}



그 후 tvheadend 를 재시작합니다.


root@u5pvr-debian:~# service tvheadend restart

[ ok ] Restarting Tvheadend: tvheadend.

root@u5pvr-debian:~#


그 후 변경된 아이디와 비밀번호가 바뀌었음을 알 수 있습니다.


게시글 초기의 정보대로 접근을 해 보면 아래와 같습니다.





2. TVH #1 -> TVH #2 연동하기


먼저 아래의 내용으로 스크립트 하나를 만듭니다.


root@u5pvr-debian:~# nano /usr/bin/pipe


#!/bin/bash

ffmpeg -loglevel fatal -i $1 -vcodec copy -acodec copy -fflags nobuffer -f mpegts -tune zerolatency pipe:1


다음으로 pipe 파일에 실행 권한을 주기 위해서 아래의 명령을 입력합니다.


root@u5pvr-debian:~# chmod a+x /usr/bin/pipe


이온TV 앱을 실행하여 채널 스캔을 돌립니다. (스캔이 이미 되어 있다면 하실 필요가 없습니다.)


ATV 런처에서 라이브 TV 앱을 실행합니다.



리모컨의 메뉴 버튼을 눌러서 기본설정으로 진입합니다.



맞게 설정하시고 리모컨의 빨간색 버튼으로 스캔을 합니다.



스캔이 끝나고 채널이 아래와 같이 생성되었습니다.



다음으로 TVH #1 웹 UI 로 접근하여 채널 탭에 채널이 정상적으로 생겼는지 확인합니다.


아래와 같이 정상적으로 공중파 6개의 채널이 보임을 알 수 있습니다.



플레이 버튼을 누르면 아래의 아래의 창이 뜨는데 채널을 선택해 주시고 Direct URL 을 복사합니다.


저같은 경우 각 채널마다 주소는 아래와 같이 됩니다.

(스캔한 경우마다 다릅니다. 직접 확인하셔야 합니다.)



위를 보시면 채널 아이디가 채널 갯수만큼 생성됨을 알 수 있으며 편하게는 아래처럼 플레이 버튼에 마우스를 가져다 대면 채널 아이디가 무엇인지 파악이 편하게 가능합니다.



이렇게 설정이 되어 있는 상태에서 원활이 재생을 하려면 먹스를 지정해 줘야 합니다.


그리고 TVH #1 과 TVH #2 는 동일한 장비에 있음으로 127.0.0.1 로 주소를 수정해 줍니다.


채널 수가 작으면 문제가 없으나 많으면 notepadd++ 같은 프로그램을 이용하여 일괄 수정하시면 편리합니다.



다음으로 TVH #2 에 IPTV 네트워크를 생성하여 채널을 등록해 보겠습니다.


Configuration -> DVB inputs -> Networks 로 이동하여 IPTV 네트워크를 하나 생성합니다.


이온 TV 와 충돌이 생기지 않기 위해서는 Maximum # input streams 를 1로 설정하셔야 합니다. 

U5PVR 은 튜너가 2개 있기 때문에 최대 2로 설정이 가능합니다.



다음 Muxes 로 이동하여 Add 를 하여 네트워크를 선택하시고 채널을 추가해 줍니다.



주소는 아래꼴로 넣으시면 됩니다.



그 다음 먹스 이름과 서비스 이름을 넣습니다.



아래처럼 먹스를 등록하였고 스캔 결과도 양호합니다.



스캔이 정상적으로 되었다면 서비스탭에도 자동적으로 등록이 됩니다.



서비스를 모두 선택하여 Map selected services 를 눌러 채널에 맵핑합니다.




채널에 아래처럼 맵핑이 되었습니다.



매핑된 채널을 재생해 보도록 하겠습니다.


아래처럼 팟플레이어에 연동하여 재생을 해 보았는데 재생이 잘 됩니다.





3. EPG 연동하기


EPG 는 튜너에서 들어오는 데이터로는 받을 수가 없습니다. 알려진 EPG Grabber 를 통해서 설정해 주시길 바랍니다.


저는 아래의 EPG Grabber 를 사용하였고 상세한 방법은 기술하지 않습니다.


https://github.com/wonipapa/epg2xml


# internal grabber

/usr/bin/tv_grab_XXXX 


# external grabber

/home/tvheadend/epggrab/xmltv.sock


그 다음 기본적으로 EPG 그래버가 활성화 되어 있지 않기 때문에 아래처럼 활성화를 해 주셔야합니다.



정상적으로 작업을 하였다면 아래와 같이 EPG 목록이 뜹니다.



채널과 EPG 를 매핑해 줍니다.



그 후 정상적으로 EPG 가 올라옵니다.



이에 따라 정기적으로 EPG 를 업데이트 하려고 한다면 아래처럼 cron 을 사용해 주시면 됩니다.


저는 nano 를 사용하기 때문에 nano 를 선택하였고 4시 정각에 EPG 를 업데이트 한다면 아래처럼 입력해 주시면 됩니다.


root@u5pvr-debian:~# crontab -e

no crontab for root - using an empty one


/usr/bin/select-editor: 1: /usr/bin/select-editor: gett                                                         ext: not found

 'select-editor'.

/usr/bin/select-editor: 1: /usr/bin/select-editor: gett                                                         ext: not found

  1. /bin/nano        <----

  2. /usr/bin/vim.tiny


/usr/bin/select-editor: 32: /usr/bin/select-editor: get                                                         text: not found

 1-2 [1]: 1



0 4 * * * /usr/bin/python /home/epg/epg2xml.py -i SK -s /home/tvheadend/epggrab/xmltv.sock



4. 녹화 디렉터리 지정하기


Configuration -> Recording 으로 이동합니다.


이동하여 아래처럼 설정을 진행합니다. 스트림 프로파일을 지정합니다.



다음으로 녹화 위치를 지정하고 퍼미션을 0777로 줍니다. 언어셋의 경우 한글 깨짐을 방지하기 위해서 UTF 8 로 설정을 합니다.



서브 디렉터리도 0777 로 설정을 합니다.



이외 기타 설정은 원하시는 대로 설정하시며 됩니다.


테스트로 녹화를 한번 해 보도록 하겠습니다.


정상적으로 녹화가 잘 됩니다.




5. 다른 기기와 연동하기


연동 부분은 KODI / 라이브 채널 모두 정상적으로 잘 됩니다.


이번에는 안드로이드의 TVHClient 와 연동해 보도록 하겠습니다.


포트포워딩의 경우 9981 과 9982 TCP 포트를 열어 주시면 됩니다. ㅎㅎ


https://play.google.com/store/apps/details?id=org.tvheadend.tvhclient&hl=ko


아래처럼 연결을 만듭니다.



정상적으로 연결이 되어 아래의 정보가 뜹니다.


채널 리스트를 본 화면입니다. 설정해준 EPG 가 정상적으로 뜹니다.



재생테스트를 해 보았습니다. 잘 되네요 ㅎㅎ



채널별 EPG 화면 입니다.



녹화를 한번 해 보았습니다.





녹화물을 재생해 보았습니다.



잘 재생이 됩니다.





이렇게 TVHeadend 사용 방법에 대해서 글을 마칩니다.


감사합니다.


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







안녕하십니까 ?  

2012년부터 미니PC관련 test리뷰를

1,2개씩 꾸준히 진행하고 있는 EddyLab입니다. ^^

(벌써 5년차가 되었네요 ^^;;)

 

이번에 test하고 있는 미니PC기기는

국내 개발사와 유저포럼에서 협업으로 개발된 

2개 ATSC 튜너(트윈튜너) 내장 안드로이드 TV U5PVR셋탑을 test 하면서

작성한 글들을 정리하여 올려 드립니다.



국내 개발사와 유저포럼에서 협업으로 개발한 

2개 ATSC 튜너(트윈튜너) 내장 안드로이드 TV U5PVR셋탑을 test 하면서

작성한 글들을 정리하여 올려 드립니다.



1. Kodi포럼 HW 세션에 U5PVR 제품 소개가 올라가 있고, 기술검증을 하고 있습니다. 
[Android] U5PVR Hybrid 4K UHD Broadcast Tuner Set-Top (2017) - UPDATED: 17/02/19 
http://forum.kodi.tv/showthread.php?tid=305097 


==> HW 제품 사진과 상세 SPEC은 상기 Kodi 포럼 링크를 참조 해 주시기 바랍니다. 




2. U5PVR 슬림형 4K UHD 안드로이드 TV 튜너셋탑 (1) - HW관련 정보 

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




System Resources
CPUHi3798CV200(ARM Cortex A53, Quad core 64bit)
GPUHigh-performance multi-core Mail T720
Storage Memory16GByte, eMMC 5.0
System Memory2 GByte, SDRAM

 




U5PVR제품은 2개의 제품이 있습니다.

U5PVR 슬림형 / U5PVR 디럭스형 2가지가 있습니다.

 

2개 제품의 차이점은 (U5PVR디럭스형 기준)

- RAM : 2G DDR4

- Tuner : 수신율이 향상된 튜너 (안테나 Input & Pass 단자 구성)

==> 2개의 튜너가 내장되어 있습니다만, 안테나 Input 1개로 구성이 가능하며,

Pass단자를 추가하여 TV의 튜너 안테나 입력에 추가로 연결이 가능하도록 되어 있습니다.

- 내장 3.5 inch HDD 가능 (8T / NTFS 지원)

(U5PVR 슬림형은 USB 3.0 포트 2개를 통하여 외장 2.5Inch(무전원) 지원합니다.) 


내장 ATSC 튜너를 기반으로 지상파 방송 수신과 케이블 방송 (암호화채널 제외) 시청 및

녹화(외부에서 예약 녹화 가능)가 가능하게 되었습니다.



3 U5PVR 슬림형 4K UHD 안드로이드 TV 튜너셋탑 (2) - SW관련 정보 
http://cafe.naver.com/mk802/19767 


U5PVR 튜너셋탑 제품은 안드로이드 TV OS(ATV) 5.x  기반 셋탑입니다.


이 제품은 기본적으로 4K@60fps@HEVC@10bit@BT2020@HDR10 재생 출력이 가능하고,

오디오는 ATMOS HDMI 패스쓰루를 지원 할 예정입니다.


2개의 ATSC 튜너가 내장이 되어 있어서,

지상파 방송 시청과 녹화를 동시에 지원하고 있습니다.




4. 안드로이드 & 리눅스 동시 부팅


개발사와 포럼과 협업을 통하여

최초로 안드로이드 셋탑에서 리눅스가 동시에

동작이 되도록 SW개발을 함으로써 새로운 기능을 구현하게 되었습니다.


  

즉, 기본 안드로이드TV OS(ATV OS) 기반에서 동시에 리눅스가 구동되기 때문에, 
하기 내용의 리눅스(데비안기반) 서버를 내장 하고 있습니다. 
[U5PVR] U5PVR 리눅스 펌웨어 기본 패키지 (Plex, TVheadend, FTP, Torrent) 
http://muritzy.tistory.com/1289 



이렇게 U5PVR 제품이 개발되게 된 이유는,


안드로이드 부팅만으로는 개인화 기기로만 사용이 되기 때문에, 기능이 부족하다는 점과,

리눅스 부팅 기반으로는 4K UHD 재생에 필요한 HW디코딩 지원이 어렵다는 점이 있습니다.


이를 상호 보완적 기능을 구현하기 위하여서,

별도의 OS부팅 지원이 아닌, 동시 기능 구현을 위하여 

안드로이드 커널기반으로 리눅스가 동시에 동작이 가능하도록 개발하였습니다.


아직까지 이러한 형태의 제품은 전세계에 없는 것으로 알고 있습니다. ^^


이 리눅스 Shell 환경에서 유저가 원하는 기능을 자유롭게 구축해서

사용이 가능한 환경을 제공해 드릴 수 있게 되었습니다.


이를 통하여 U5PVR은 간이 NAS수준의 기능을 구현 가능하게 되었습니다.




5. TVHeadend Server


물리적 2개튜너 + TVHeadend Server 2개 (TVH#1, TVH#2) 가 내장 구축되어져 있습니다.

TVH#1은 물리적 2개튜너의 드라이버가 연동된 스탠드얼론 TVHeadend V3.2 커스텀입니다.

TVH#2는 리눅스 기반의 TVHeadend V4.1 버젼으로서 개인적으로 쉽게 TVH를 구축 하실 수 있습니다.


EPG는 본인이 사용하기 편리한 것을 선택적으로 설정을 하시고, TVH#2에 연결하여 사용하시면 됩니다.




6. 방송 시청


방송시청 방법은 크게 3가지 방법을 지원하고 있습니다.


- U5PVR 자체 eON런처를 통하여 TVH 방송시청 및 녹화가 가능하며, 원격 녹화 예약 지원이 됩니다. (별도 스마트폰 앱 지원)

- Kodi 나 Plex Server를 통한 TVH 방송 시청 및 녹화가 가능합니다. 

(기본적으로 트랜스코딩은 지원을 하지 않고, Bypass기능만 가능하다고 보시면 됩니다.)

- 안드로이드 TV OS 기반 Live Channel 앱을 통하여 방송 시청이 가능합니다. (녹화는 향후 지원 예정)


U5PVR TVHeadend Live Channel (Beta) 동작 확인 
http://muritzy.tistory.com/1295 


채널변환 속도와 채널선택 후 화면출력 반응속도가 탁월합니다. ^^

UHDTV(UMAX) 재생도 확인하였습니다.

올해(2017년) 새로운 안드로이드 TV OS O 버젼에서는
Live Channel 기능에 PIP기능(2채널 ??)이 추가 될 예정이라고 합니다.



U5PVR TVHeadend Live Channel  동영상 캡춰 - 유투브 



7. Plex Server 내장


기본적으로 트랜스코딩 지원은 없고, Bypass기능으로 

Plex Server를 구축하여 미디어 통합 관리가 가능하도록 되었습니다.


물론 Kodi에서 Plex add-on 0.9 버젼을 쓰면 Kodi에서도 동작이 가능합니다.


아시다시피, Plex는 풍부한 메타데이터를 지원해 주는 대신에,

비디오 오디오포멧에 따라서 HW부하(트랜스코딩)을 요구하게 됩니다.


비디오 : MP4 / HEVC

오디오 : AAC

자막 : SRT

제목 : 작성법에 의하여 제목이 만들어져 있어야 합니다.

상기 4가지 조건만 맞추면, 트랜스코딩은 불필요 하게 되면서,

동시에 여러개의 영상을 재생이 가능하게 됩니다.


Plex Server의 장점은 친구 계정을 만들어서 라이브러리를 공유 할 수 있기 때문에,

어르신들께서 보실 수 있는 영화 라이브러리를 구축하여 공유가 가능합니다.

Plex 클라이언트 앱은 ATV OS기반에서는 무료로 사용이 가능합니다.

스마트폰 Plex 클라이언트 UI보다 훨씬 좋은 UI를 가지고 있습니다만,

아쉽게도 외장 재생기 연결 기능은 지원하지 않고 있습니다.



8. 내장 플레이어 영상 재생 지원 기능


기본적으로  4K@60fps@HEVC@10bit@BT2020@HDR10을 지원합니다.

PQ 영상 화질 보정 엔진을 가지고 있어서, 어떤 영상에서도 화질 보정 엔진을 이용하여,

원하시는 색감을 맞출 수 있습니다. (HDR모드에서는 PQ엔진은 지원하지 않습니다.)


블루레이 재생관련으로 ISO파일과 폴더형태 파일을 원터치로 재생 지원이 가능합니다.


3D 블루레이 재생을 지원하고, 3D 자막 댑스를 지원합니다.


3D 블루레이 재생에서 외부 자막지원은 SRT만 지원하고 있습니다.

기본적으로 Kodi에서 재생하는 것 보다 훨씬 향상된 색감으로 영상 재생이 됩니다.



9. 네트워크 지원


기본적으로 DLNA / LAN(SAMBA) / NFS 등을 지원합니다.


내부 네트워크 NAS와 CIFS로 드라이버 연결이 지원됩니다.

(가끔 연결 링크가 깨지기도 합니다만, 미디어 센터에서 네트워크 연결 상태만 확인하면

자동으로 재 연결이 되어지게 됩니다.)


내부 HDD 또는 USB 외장HDD에 녹화가 가능하고,

네트워크 지원으로 외부 NAS에 녹화도 가능합니다.


클라우드 지원으로 구글 드라이버 커넥티비티를

리눅스 기반에 설정하여 네트워크 클라우드 연동 지원이 가능합니다.

외부에서 U5PVR의 TVH서버와 연동하여 지상파 재생 시청이 가능하고,

원격으로 토랭이 다운로드와 FTP서버, 스트리밍 재생(원본화질) 지원이 가능합니다.


10. 결론


더 많은 기능을 소개 (게임 등)을 해 드리고 싶습니다만,

아직 test를 하지 못한 분야 및 좀 더 관심을 가지고 리눅스 기능을 구현해 보고 싶은 기능은

많이 있습니다.  ^^


게임은 ATV OS기반에서 2개의 게임패드를 지원하기 떄문에

2인용 게임이 가능하다고 알고 있습니다. 그러나 아직 test는 해 보지 못하였습니다.


제일 문제가 되는 기능은 안드로이드 TV OS의 태생적 문제로

안드로이드 마켓이 ATV용 마켓이라는 점입니다. 이는 쉴드TV셋탑도 마찬가지 입니다만,

원하시는 앱을 쉽게 마켓에서 다운로드 받거나 자동 업그레이드 지원이 되지 않는다는 점입니다.


이는 스마트폰을 이용하여 사이드 로딩을 위한 작업이 필요합니다만,

Send Anywhere를 이용하여 앱을 쉽게 U5PVR에 업로드가 가능하기 때문에 크게 문제는 없네요..


별도로 3'rd 마켓앱도 지원을 할 예정이라고 합니다.

 


아직 몇가지 버그등은 보입니다만,

안정화 측면에서는 ATV OS가 워낙 견고(?)해서 시스템이 죽는 일은 거의 없네요 ^^;;



Widevine DRM은 지원이 되지 않기 때문에

Netflix는 480P까지만 지원이 됩니다만,

Youtube는 4K@30까지는 지원이 됩니다.

아직 4K@60fps는 재생중 끊김현상이 있습니다.



ARM기반 시놀로지 NAS급 + 4K UHD 안드로이드 셋탑 + 트윈튜너 기능이

일체화 되어 있는 제품은 아직까지 없는 것 같습니다.



중요한 것은 가성비라고 보여집니다만,

안드로이드 기반에서 리눅스를 이용하는 자율도에 있어서는

지금까지 누려보지 못한 자유가 느껴지고, 여러가지를 즐길 수 있다는 느낌이 팍팍 듭니다. ^^


  

많은 기능중에 내가 꼭 써 보고 싶은 기능을 최대한 최적화 시켜서

사용 빈도가 높게끔 하는 것이 제일 중요하다고 판단됩니다.  ^^



U5PVR 컨텐츠 관리 아카이빙 및 재생관련







자세한 사항은 "EddyLab - 미니PC포럼"에서 자료를 참조 하시기 바랍니다.

http://www.eddylab.co.kr  /  http://cafe.naver.com/mk802












U5PVR TVHeadend Live Channel (Beta) 동작 확인

 

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

이전에 하기 내용으로 올려드린 TVHeadend Live Channel (Beta)는 쉴드TV셋탑에서 설정을 하고 설정관련 글을 올려 드린 바 있습니다.





금번에는 U5PVR에서 TVHeadend Live Channel APP 동작 확인을 해 보았습니다.

먼저 하기 U5PVR 컨텐츠관리 아카이빙 및 재생관련 내용을 기초로 설명드리면,

컨텐츠입수의 아래쪽의 TVH 서버와 컨텐츠 재생기 중에 TV Headend Live Channel APP을
상호 연동을 시킨 내용입니다.

U5PVR 컨텐츠 관리 아카이빙 및 재생관련 170222





앞서서, 이 Test를 U5PVR에서 실행하지 못한 이유는,
TV Headend Live Channel APP의 버그가 있어서 test를 못하고 있었습니다.

0228FW에서 TVH#2의 port를 수정하고 9981,9982로 변경하므로써
이제부터 이용이 가능하게 되었습니다.

ATV 린백런처에서 Live Channel APP(오른쪽 끝)을 실행 합니다.









TVHeadend를 선택 합니다.




TVHeadend를 선택하면, TV Headend Live Channel APP이 실행됩니다.





TV Headend Live Channel APP의 설정 방법은 

이전 쉴드TV 설정떄와 같습니다.

[Live Channel] 쉴드TV셋탑에서 TVHeadend Live Channel (Beta) 설정 방법 1




설정 중에 다른 점은 Live Channel 재생 관련 어플 설정에서,
2번째 "Media Player"로 설정합니다.
Media Player는 Android Media 기본 코덱을 사용하도록 되어 있습니다.





TVHeadend Live Channel APP에서 TVH Settings 내용을 보았습니다만,
수정할 부분은 안보여서 Pass하였습니다.








Live Channel로 돌아오게 되며, 

설정된 TVHeadend에 173개 채널이 보입니다.

















Live Channel 시청 중에 F12를 누르면,

U5PVR의 eON런처로 바로 넘어 오고, 
TV Tuner 시청으로 들어 오게 됩니다.

특이한 것은 Live Channel 방송과 TV Tuner의 시차가 조금도 없다는 점이네요 ^^;;

방송화질은 TV Tuner쪽이 조금 더 좋습니다. ^^






아시다시피, Kodi에서도 TVH add-on을 설치하여 
시청이 가능합니다만, Kodi17 기준으로 TS를 SW로 디코딩을 하는 바람에
아직 TS채널 시청이 원할하게 재생이 되지 않고 있습니다. ^^;;

이는 Kodi17에서 HW디코딩으로 설정기준만 바꾸어주면
재생자체는 앞서 Live Channel과 동급으로 재생이 되게 됩니다.

사유는 Kodi17부터 안드로이드 OS기반에서
Kodi 자체적인 코덱을 버리고, 안드로이드 기본 코덱(Media Player)을 쓰게 되었습니다.
이로서 Live Channel과 Kodi의 재생 결과값은 동일해야 합니다.



하기 U5PVR live Channl 동영상 캡춰 내에는 UHD방송(UMAX) 재생 내용도 함께 있습니다.

중요한 점은 채널 반응 속도가 엄청 빠르다는 점입니다. ^^

향후에 안드로이드 O 버젼에서는 PIP(2채널 ?)를 지원하게 될 예정이라고 합니다.


 





+ Recent posts