NVIDIA , 곧 더 강력하고 새로운 SHIELD Android TV 상자를 출시 할 것입니다.

 

 

시장에서 가장 좋은 안드로이드 TV 박스 중 하나 인 SHIELD TV로 NVIDIA가 대박에 올랐습니다 . 그러나이 장치는 4 년 전 출시 된 이래로 2017 년에 업데이트 된 모델이 출시되었지만 시대를 드러내 기 시작했습니다. 

NVIDIA는 2 년 전부터 안드로이드 TV 박스 라인업을 새로 고치려고 노력해 왔습니다. 그러나 대부분의 회사 프로젝트는 실패했습니다. 다행히 XDA 개발자 에 따르면 NVIDIA가 지난 수년간 작업 해 온 많은 프로젝트 중 하나가 친환경적이라고 밝혀졌습니다 .

 

 

업그레이드 된 NVIDIA SHIELD 기기의 코드 명은 Google Play 개발자 콘솔 기기 카탈로그 에서 최근에 발견되었으며 곧 새로운 Android TV 상자가 추가 될 것입니다. 

2017 SHIELD TV와 곧 출시 될 모델의 주요 차이점은 운영 체제와 칩셋입니다. 새로운 안드로이드 TV 박스 는 안드로이드 8.0 Oreo를 실행하는 현재 세대와는 달리, 안드로이드 9.0 파이와 함께 제공됩니다.

 

 

새로운 NVIDIA SHIELD TV 셋업 박스 코드 네임 'mdarcy'

 

다음에 출시 될 SHIELD TV는 Tegra X1 칩셋 의 새로운 버전을 기반으로 할 것으로 예상됩니다.이 버전은 성능면에서 약간 우수하고 전력 효율이 약간 우수합니다. 장치 카탈로그 목록에는 사양에 대한 세부 정보가 포함되어 있지 않으므로 보고서의 정보가 정확한지 여부를 알 수 없습니다. 

그럼에도 불구하고 NVIDIA가 새로운 제품을 출시하기로 결정하면 다음 SHIELD TV가 더욱 강력하고 전력 효율이 좋을 것이라고 가정 할 수 있습니다. 신제품을 출시 할 때 논리적 인 선택입니다.

 

 

https://www.phonearena.com/news/NVIDIA-upcoming-SHIELD-Android-TV-box-leaks_id116877

 

 

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

금번 U5셋탑 ATV8 0607FW에서

넷플릭스 4K HDR지원이 되었습니다. ^^

 

 

 

 

현재 공식 넷플릭스 4K HDR지원 기기는 그리 많지 않습니다만,
이번에 U5셋탑이 비공식(?)으로 4K HDR지원 기기로 등록되었습니다.

 

 











 

 

 

HDR10 지원 TV와 연결된 경우, 
넷플릭스 HDR10 스트리밍이 지원되는 디바이스는 다음과 같습니다.

  • ACT StreamTV 4K

  • Apple TV 4K

  • Canal Digital OnePlay

  • Chromecast Ultra

  • Chunghwa MOD503

  • Comcast X1(일부 모델)

  • Deutsche Telekom의 EntertainTV

  • Free의 Freebox One 및 Freebox Delta

  • Vodafone의 GigaTV Net

  • NET 4K(America Movil)

  • Nvidia Shield 및 Nvidia Shield Pro

  • PLAY NOW TV BOX

  • PlayStation 4 Pro

  • Quickline UHD Box

  • Roku Premiere+ 및 Roku Ultra

  • Sky Now TV Smart Box(4k 및 음성 검색 포함)

  • Telkom SA LIT TV Box

  • UHD Swisscom TV-Box

  • Virgin Media - TiVo 제공 V6

  • VTR EOS

  • Xbox One S 및 Xbox One X

  • XL Home Android TV

  • YouSee Tv-boks

https://help.netflix.com/ko/node/42384

 

 

 

 

U5Mini 커스텀 유저백업 배포 0.6버젼 
(Showdown, 레트로 게임 지원)

 

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

앞서 커스텀 유저 백업 배포버젼을 
업그레이드하여 올려 드리고 있습니다.

 

U5Mini 커스텀 백업 배포버젼 0.5버젼 (Test용) - Kodi Embuary스킨 적용

https://cafe.naver.com/mk802/30278

 

 

 

 

유저백업 배포버젼은

U5Mini 셋탑 사용자가 사용 편의성을 위하여, 
다양한 솔루션을 포함한 유저백업 배포버젼입니다.

비공식적 배포버젼으로 포함된 SW기술적 내용에 대한
개별 지원은 해 드릴 수가 없습니다.  ^^

관련 버그를 알려 주시면 개발자분들에게 레포팅을 한 후,

빠른 feedbkack을 받도록 지원 해 드릴 예정입니다.


 

금번 0.6버젼의 특징은

1. Showdown 구축

 

짜리쪼님의 Showdown 기능을 추가하였습니다.

이자리를 빌려서 짜리쪼님께 좋은 어플을 개발 소개를 해 주셔서

감사인사를 드립니다. ^^






이 기능은 U5셋탑 리눅스 AoL 기반에 구축하였고, 
U5 리눅스 torrent 기능을 연동하여서,

지정한 컨텐츠 목록을 자동으로 수집하여 다운로드를 해 주고,

컨텐츠 종류에 따라서 분리 보관을 지정하여 관리해 줄 수 있는 기능입니다.

기존에 플레시겟 + RSS를 통합한 기능이라고 이해하시면 되겠습니다. ^^

콘솔기반에서 메뉴를 동작해야 하므로, 
Putty와 같은 ssh 콘솔을 통하여 설정하셔야 합니다.

 

https://cafe.naver.com/mk802/31070

 

장시간 시스템 운영시, U5셋탑의 안정성을 고려하여

매일 새벽 3시에 시스템이 리부팅을 하도록 하였습니다.

 

 

2. 소오비마님의 Kodi   스킨 기반 메뉴 커스텀화

 

https://cafe.naver.com/mk802/31860

 

 

3. Kodi18.2 + IAGL 애드온 + Retroarch 시스템 기반 

레트로 게임 시스템 지원 (분리기통용)



 

 


https://cafe.naver.com/mk802/31756

 

 

레트로게임 시스템 구축 1부

https://cafe.naver.com/mk802/31629

 

레트로게임 시스템 구축 2부
https://cafe.naver.com/mk802/31647

 

U5 커스텀 백업 0.6 기반 레트로 게임 설정 (분리기통용) 1 - Kodi관련 설정

https://cafe.naver.com/mk802/31795

 

 

4. All TV 기능 추가

https://cafe.naver.com/mk802/31582

 

 

 

Showdown 관련 내용은 하기 링크를 참조 해 주시기 바랍니다.

U5 커스텀 백업 0.6 리눅스 버전 상세 설명 (klive, rclone, plexdrive, showdown)


https://cafe.naver.com/mk802/31889

 

 

[펌링크] Showdown v1.02 - 드라마, TV프로그램 자동 다운로더

https://cafe.naver.com/mk802/31011



리눅스 펌웨어에서 ShowDown 구동하기 (짜리쪼님)https://cafe.naver.com/mk802/31070

 

ShowDown 사용예

https://iodides.tistory.com/10



ShowDown v1.51

https://iodides.tistory.com/7?category=693844

 

====================

 

Showdown을 구축하시기 위해서는
반드시 Torrent transmission을 구축하셔야 합니다.

다운로드 경로 설정만 잘 하시면 

전혀 어려운 내용은 없습니다. ^^

 

 

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

Transmission-daemon 토렌트 클라이언트

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

아이디 : admin

비밀번호 : androidoverlinux

 

경로설정

/mnt/USBDevice/USB1

/mnt/USBDevice/USB2


https://cafe.naver.com/mk802/20313

 

U5PVR 사용자 초심레벨 서포터 지원 (1) 17년7월 3주차 - 기초 리눅스 접근방법(SSH)과 Torrent & FTP

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



U5Mini SAMBA 설정 및 팁

https://cafe.naver.com/mk802/26703

 

===================

 

 

주의사항)  기본적으로 커스텀 백업 배포버젼을 올리실 경우,

기존 유저 사용Data는 모두 없어집니다. (AoL 리눅스 포함)

그러므로, 반드시 필요하신 정보는 백업을 하신 후, 
test하시기 바라겠습니다.

 

 

금일기존 U5셋탑의 백업과 복구에 사용되는 USB 메모리는 

반드시 FAT32 또는 EXT4로 포멧이 되어 있어야 합니다.

이는 백업때도 복원때도 반드시 동일합니다.


1. FAT32 포멧이 최근 윈도우 버젼에서는 지원이 되지 않기 때문에

하기의 어플을 별도로 윈도우에 설치하셔서,

사용하시고자 하시는 USB메모리를 새로 포멧하시기 바랍니다.
(주) USB메모리의 FAT32 포멧의 경우에, 기존 Data가 모두 지워지므로,

반드시 필요하신 정보를 백업하신 후, FAT32로 포멧하시기 바라겠습니다.

 

FAT32 guiformat.exe

https://drive.google.com/file/d/143vPcJVjvcfSwqV68c4FrtmeD0kP680l

 

 

 

U5Mini 커스텀 유저백업 배포 0.6버젼 다운로드 링크

하기 링크에서 파일을 받으신 후, 압축을 푸시고

A. (ATV7용) 

EddyLab&소오비마&Showdown ATV7 userdata V0.6 190605.zip  (용량 2.8G)

https://drive.google.com/open?id=1k5AN7aB4iMX_gHqFzYB013RrI-kcrh9-

 

B. (ATV8용)  준비중

********************  (다운로드 링크 준비중)



=======================

ATV설정 >> 정보
(About)

 

 

정보(About) >> 시스템 업데이트(System update) 

 

 

시스템 업데이트(System update) >> 복구 사용자 데이터(Restore Userdata)

 

 

"드라이브를 선택해 주십시오" 의 큰 메뉴가 보입니다.

정상적으로 U5Mini 셋탑에서 앞의 FAT32 USB메모리를 인식하면

FAT32 USB메모리의 경로가 보여지게 됩니다.

 

 

FAT32 USB메모리의 경로를 선택하시면,

경고 메시지가 나타납니다.

 

 

"OK"를 누르면, U5Mini셋탑은 전원이 꺼졌다가 다시 켜지면서

유저Data 복구모드로 진입을 하고, 복구Data가 모두 쓰여지면,

리부팅을 실시하게 됩니다.


리모콘 페어링 모드가 대기 중이고,

리모콘 OK버튼을 누르면, 오른쪽 창에 리모콘 목록이 보여지게 됩니다.

1. 반드시 먼저 리모콘 목록을 선택하여 눌러 주시기 바랍니다.

 

2. 그후에 천천히 리모콘의 설정(톱니바퀴) 버튼을 3초 이상 지속적(롱키)으로 눌러  주시면,

리모콘의 빨간 LED가 점멸하게 됩니다.

 

 

 





 

 

추가 개별 설정관련으로 하기 내용을 설정하시기 바랍니다.

 

1. WiFi설정이 필요하시면 설정을 하시기 바랍니다.

 

2. 해상도 관련으로는 기본값으로 되어 있으므로,

ATV설정 >> 디스플레이 설정과 Advance option으로 조정하시기 바랍니다.

. AV리시버를 사용하시는 분께서는 

ATV설정 >> 소리에서 옵션 설정을 하시기 바라겠습니다.

 

이상 기본 중요 설정은 끝입니다. 

 

 

 

 

U5Mini 커스텀 유저백업 0.6버젼 설치 앱 목록 190605

** U5셋탑 리눅스 AoL 탑재 ** (Debian 9신규 버젼)

 

도돌키보드 (한국어 키보드)
드라이브 (용량확인)

에물게임 (해피칙, RETRO ARCH)

알약M

알키보드 (한국어 키보드)

왓차플레이

ES파일탐색기 (리모콘 사용가능버젼) <==  앱 업그레이드 하시면 리모콘 사용불가

Google Home

Teamview Host (원격리모트)

Kodi 18.2 정식 <== 한국어 언어설정, Plex & Backup 각종 애드온 설치, 
Aura 스킨 적용 및 메뉴 커스텀 

Plex <== plug-in (미추가, 0.7버젼에 적용예정) 

 

MX플레이어 (ATV용)

Send Anywhere (파일 전송앱, 스마트폰에 앱 설치 후, 양쪽 파일 전송가능)
TV App Repo (U5바탕화면 런처 아이콘 만들기)

WBS 앱서랍 (앱서랍 아이콘)
TV Headend Live Channels (최신버젼)
TIDAL (고품위 음악앱 (유료))
ALL TV (옥수수, Pooq 계정 로그인 필요)

 

소오비마님 추천앱 설치

 

· 스마트유튜브 : 유튜브 시청.
· 에브리온TV : 종편채널 무료시청.
· 욜로튜브 : 유튜브 음악 재생.
· AccWeather : 일기예보 확인.
· X-plore : 네트워크 파일관리.
· JC 한국 라디오 : 국내 라디오 청취.
· Yalp Store : 모바일용 앱 설치.
· CetusPlay : 스마트폰 리모콘 활용.
· OpenWnn : 세벌식 한글 입력 키보드.
· 나홀로 노래방 : 유튜브 기반 무료 노래방 앱.
· 모바일용 유튜브 : 나홀로 노래방 이용시 필요.

*** 최신 버젼으로 모두 업데이트 하였습니다.

 

 

https://cafe.naver.com/mk802/31890

 

U5Mini 커스텀 유저백업 배포 0...

U5Mini 커스텀 유저백업 배포 0.6버젼 (Showdown, 레트로 게임 지원)  ...

cafe.naver.com

 

 

안녕하세요? 커스텀 백업 0.6 버전에 대한 상세 설명 글을 작성하겠습니다.

 

간단 설명글은 아래를 참고하세요 ㅎㅎ

 

https://cafe.naver.com/mk802/31855

 

 

 

 

1. klive

 

klive 의 경우 소주6잔님께서 소스를 클로즈로 바꾸셨습니다. 이에 따라 상세 설명을 첨부 드리지 않습니다.

 

1. klive 서비스 시작 종료하기

 

서비스는 기본적으로 아래와 같이 시작 종료합니다.

 

# 재시작

root@AOL-Debian:~# service klive restart

klive server stopped

start klive server.

 

# 종료

root@AOL-Debian:~# service klive stop

klive server stopped

 

# 시작

root@AOL-Debian:~# service klive start

start klive server.

 

2. klive 설정 진행하기

 

klive 서버를 종료 해 주신 다음에 아래의 설정파일을 수정합니다.

 

# 종료

root@AOL-Debian:~# service klive stop

klive server stopped

 

# 설치 디렉터리 이동

root@AOL-Debian:~# cd /home/klive/

root@AOL-Debian:/home/klive# ls

data    klivePlex.py        kliveProxy.sh  klive_restart.sh requirements.txt  templates

epg.sh    kliveProxy.py       klive.py       lib setting.py   tv_grab_klive

klive.php  kliveProxy.service  klive.pyc      output setting.pyc

 

# 설정파일 열람

root@AOL-Debian:/home/klive# nano setting.py

 

3. LiveChannels 채널 리스트 갱신하기

 

라이브 채널 --> 설정 --> 채널 소스 --> Klive 를 선택하여 채널 리스트를 갱신하시길 바랍니다.

 

 

 

 

2. rclone & plexdrive

 

1. rclone

 

rclone 가이드는 아래를 참고하시어 설정하시길 바랍니다. 구글드라이브 및 ftp sftp webdav 등등 이외 클라우드 연결을 지원합니다.

 

https://cafe.naver.com/mk802/31866

 

2. plexdrive

 

구글 드라이브의 api 리밋에 걸려 24시간 동안 밴 당하는 문제를 해결하고 스트리밍에 최적화된 클라이언트입니다. 읽기 전용이며 예외적으로 파일 삭제를 지원합니다.

 

https://cafe.naver.com/mk802/22587

 

3. 미디어 센터와 연동하기

 

rclone 과 plexdrive 로 마운트한 fuse 파일 시스템을 미디어 센터에서 활용하는 방법입니다.

 

https://cafe.naver.com/mk802/24734

https://cafe.naver.com/mk802/31670

https://cafe.naver.com/mk802/27082

 

 

 

 

3. 리눅스 업데이트 하기

 

19년 4월 25일 버전부터 리눅스 펌웨어 설치로 인한 초기화의 고통에서 벗어나실 수 있습니다. aolupdate 명령으로 리눅스 펌웨어를 변경 부분만 업데이트 하실 수 있습니다.

 

root@AOL-Debian:~# aolupdate

[info] get update file...

[info] unzip update file...

[info] current : 20190501

 

상세 설명 참조 URL 은 아래 링크를 참조하세요.

 

https://cafe.naver.com/mk802/31353

 

 

 

 

4. showdown 활용하기

 

쇼다운은 카페의 짜리쪼님께서 개발하셨습니다. 해당 공식 배포 링크는 아래와 같습니다.

 

https://iodides.tistory.com/15

 

절대 개발자에게 감내놔라 배내놔라 하지 마시길 바랍니다. 본래 아래의 기능들을 구현하기 위해서는 FlexGET 과 RSS 기능을 도입하여 어렵게 사용해야 하지만, 짜리쪼님께서 쉽게 사용할 수 있도록 어렵게 어렵게 개발해 주신 것입니다.

 

물론 KLIVE 의 소주6잔님도 마찬가지입니다. 무료로 개발하시어 공개하는 내용에 대해서 AS를 바라지 마시기 바랍니다. 공손한 개선에 대한 요청은 할 수 있지만, 개선이 되지 않는다고 싫은 소리 할 수 있는 입장이 아닙니다!!

 

추가적으로 showdown 의 경우 많은 드라마를 등록할 경우 메모리 부족 문제가 있을 수 있습니다. 따라서 새벽3시에 자동 재부팅 코드가 crontab 에 추가되어 있습니다. 해당 기능을 비활성화 하기 위해서는 crontab 을 수정하세요.

 

root@AOL-Debian:~# crontab -e

 

0 3 * * * su root -c "reboot" > /dev/null

 

1. 동작 매커니즘 설명

 

기본적으로 드라마 / 예능 / TV 3가지의 카테고리를 가지고 있습니다. 드라마의 경우 초기 스캔과정이 끝나면 자동으로 방영예정 / 방영중 / 방영 완료로 구분이 됩니다. 예능과 TV의 경우 직접 검색하시어 추가하셔야 합니다.

 

토렌트 사이트를 크롤링하여 나오는 마그넷을 DB에 저장하고 일반적으로 1시간에 1번씩 작동하고 피크시간대에는 10분마다 한번씩 작동합니다. 

 

showdowncli 를 통하여 모니터링 할 드라마를 추가해 두면 스캔시간 마다 검색된 마그넷을 transmission api 를 통해 트랜스미션에 자동으로 추가가 됩니다.

 

다운로드가 완료되고 스캔시간이 오면 (스캔시간에 완료처리 및 검색이 일어납니다.) 토렌트 내부 파일을 지정된 폴더로 옮기는 작업과 네이밍을 PLEX 에 적합하게 자동으로 바꾸는 처리가 일어납니다.

 

이와 관련하여 구글 드라이브 rclone 과 연동하면 편리하게 업로드를 하실 수 있습니다. 해당 글은 아래의 글을 참고해 보시길 바랍니다.

 

https://cafe.naver.com/mk802/31070

 

2. transmission 과 showdown 설정하기

 

먼저 토렌트가 받아질 외장하드나 USB를 꽂습니다. uuid 마운트 기능이 있어서 고정 경로로 할당이 가능하나, 실시간으로 반응하진 않습니다. USB를 중간에 꽂으셨다면, 재부팅을 하여 uuid 마운트가 작동하도록 하셔야합니다.

 

# 삽입한 저장장치에 따라 UUID 가 표시됩니다.

root@AOL-Debian:~# cd /mnt/by-uuid/

root@AOL-Debian:/mnt/by-uuid# ls

F3BC-AA0B

 

# 토렌트와 showdown 폴더를 만듭니다.

root@AOL-Debian:/mnt/by-uuid# cd F3BC-AA0B/

root@AOL-Debian:/mnt/by-uuid/F3BC-AA0B# ls

Android  @!IFIrz   snapshot       update.zip      userdata.tarab

!$grNa  LOST.DIR  System Volume Information  userdata.taraa  userdata.tarac

 

# 쇼다운 경로 생성 (통합으로 운영하셔도 무방합니다.)

root@AOL-Debian:/mnt/by-uuid/F3BC-AA0B# mkdir -p showdown/{drama,tv,entertain}

 

# 토렌트 경로 생성

root@AOL-Debian:/mnt/by-uuid/F3BC-AA0B# mkdir torrent

 

생성 후 경로 모양은 아래와 같습니다.

 

├── showdown

│   ├── drama

│   ├── entertain

│   └── tv

├── torrent

 

transmission 경로 설정을 합니다.

 

# 트랜스미션 서비스 종료

root@AOL-Debian:/mnt/by-uuid/F3BC-AA0B# service transmission-daemon stop

[ ok ] Stopping bittorrent daemon: transmission-daemon.

 

# 설정파일 수정

root@AOL-Debian:/mnt/by-uuid/F3BC-AA0B# nano /etc/transmission-daemon/settings.json 

 

{

    "alt-speed-down": 50,

    "alt-speed-enabled": false,

    "alt-speed-time-begin": 540,

    "alt-speed-time-day": 127,

    "alt-speed-time-enabled": false,

    "alt-speed-time-end": 1020,

    "alt-speed-up": 50,

    "bind-address-ipv4": "0.0.0.0",

    "bind-address-ipv6": "::",

    "blocklist-enabled": false,

    "blocklist-url": "http://www.example.com/blocklist",

    "cache-size-mb": 4,

    "dht-enabled": true,

    "download-dir": "/mnt/by-uuid/F3BC-AA0B/torrent",

 

# 트랜스미션 서비스 시작

root@AOL-Debian:/mnt/by-uuid/F3BC-AA0B# service transmission-daemon start

[ ok ] Starting bittorrent daemon: transmission-daemon.

 

다음으로 showdown 설정을 진행합니다.

 

# 쇼다운 설치 디렉터리로 이동합니다.

root@AOL-Debian:/mnt/by-uuid/F3BC-AA0B# cd /home/showdown/

root@AOL-Debian:/home/showdown# ls

cli.bat     cli.sh        nohup.out   ShowDown.log      SQLDB.db start.sh

Client.jar  config.properties  Server.jar  ShowDown.log.2019-06-04   start.bat

 

# 설정파일을 수정합니다.

root@AOL-Debian:/home/showdown# nano config.properties

 

[server]

server_ip = localhost

server_port = 4040

log_level=info

api_log=N

 

[transmission]

# 트랜스미션 RPC 경로 : http://[IP]:[PORT]/transmission/rpc/

 

# 하기는 기본설정 되어 있습니다.

transmission_url=http://localhost:9091/transmission/rpc/

transmission_username=admin

transmission_password=androidoverlinux

# 트랜스미션 삭제 옵션 : Y=시딩중인 토렌트도 삭제, N=완료(정지)된 토렌트만 삭제

transmission_delete_seeding=Y

 

[torrent]

torrent_match_date=Y

 

[rename]

# 파일 이름 변경 사용 유무

file_rename=Y

# 단일 에피소드 파일명

file_name1=[이름].S[시즌]E[에피1].[날자].[해상도]

# 합본 에피소드 파일명

file_name2=[이름].S[시즌]E[에피1]-E[에피2].[날자].[해상도]

 

[move]

# 다운로드가 완료된 파일을 지정된 경로, 드라마 이름으로 폴더 생성하여 이동

file_move=Y

# 파일 이동시 시즌별 폴더를 생성할지 결정

file_move_season_folder=Y

# 트랜스미션을 윈도우에서 구동하는 경우, 윈도우 경로의 \ 를 이중으로 설정

# 예) c:\다운로드\드라마\  인 경우, c:\\다운로드\\드라마\\

 

# 폴더를 3개 모두 통합 관리하셔도 되고 드라마 / TV, 예능 이렇게 통합으로 운영 가능합니다.

drama_file_move_base_path=/mnt/by-uuid/F3BC-AA0B/showdown/drama

enter_file_move_base_path=/mnt/by-uuid/F3BC-AA0B/showdown/entertain

tv_file_move_base_path=/mnt/by-uuid/F3BC-AA0B/showdown/tv

 

[cloudplow]

# cloudplow 를 사용해 구글 드라이브에 업로드

cloudplow_upload=N

 

[telegram]

# 텔레그램 연동정보 입력

telegram_use=N

telegram_chatid=

telegram_token=

# 텔레그램으로 토렌드 다운로드 알림 설정

telegram_complete_use=N

telegram_complete_use_thumb=Y=N

 

[Plex]

#plex 의 스트리밍 개수에 따른 트랜스미션 속도를 조절할때 사용

plex_use=N

plex_ip=

plex_port=

plex_token=

 

# Plex 스트리밍 개수에 따른 업/다운 속도 조절

[Speed_Limit]

down_speed_0=7000

down_speed_1=5000

down_speed_2=4000

down_speed_3=3000

down_speed_4=2000

down_speed_5=1000

 

up_speed_0=1000

up_speed_1=1000

up_speed_2=1000

up_speed_3=1000

up_speed_4=1000

up_speed_5=1000

 

설정을 마치셨으면 아래 명령으로 서버를 재시작 합니다.

 

# 아래 명령으로 showdown 서버를 재시작합니다.

(강제로 스캔을 일으킬 때 유용하게 사용 가능합니다.)

root@AOL-Debian:/home/showdown# showdownreset

java killed (pid 5912)

root@AOL-Debian:/home/showdown# nohup: appending output to 'nohup.out'

 

# 정상적으로 실행되는지 로그를 확인합니다.

root@AOL-Debian:/home/showdown# showdownlog

2019-06-05 11:59:02,381   테이블 확인 완료 : TORRENT_TV

2019-06-05 11:59:02,383   DB 스키마 : 1.53

2019-06-05 11:59:02,384   DB 최신버전

2019-06-05 11:59:02,392   서버 포트 오픈 : 4040

2019-06-05 11:59:02,392   쓰레드 시작 : ShowDown

2019-06-05 11:59:02,395   쓰레드 시작 : CLI

2019-06-05 11:59:02,396   쓰레드 시작 : Telegram Bot

2019-06-05 11:59:02,551   최신버전으로 업그레이드 필요

2019-06-05 11:59:02,551   프로세스 시작

2019-06-05 11:59:02,554   드라마검색중... 1 페이지

2019-06-05 11:59:06,309   예능검색중... 1 페이지

2019-06-05 11:59:07,522   TV검색중... 1 페이지

2019-06-05 11:59:08,704   ---------- 프로그램 검색 완료

2019-06-05 11:59:08,711   ---------- 토렌트 검색 완료

2019-06-05 11:59:08,756   ---------- 토렌트 매칭 완료 (0/0)

2019-06-05 11:59:08,799   ---------- 트랜스미션 검색(0/0)

2019-06-05 11:59:08,801   ---------- 다운로드 (0/0)

2019-06-05 11:59:08,803   ---------- 상태확인 (0/0)

2019-06-05 11:59:08,806   ---------- 파일처리 (0/0)

2019-06-05 11:59:08,808   ---------- 토렌트삭제 (0/0)

2019-06-05 11:59:08,811   ---------- 방영일 지난 에피소드 정리(0/0)

 

3. 모니터링 할 드라마 추가하기

 

아래처럼 쇼다운 CLI 를 실행합니다.

 

root@AOL-Debian:/home/showdown# showdown

 

----- 메인 메뉴

1. 드라마 (방영 예정)

2. 드라마 (방영 중)

3. 드라마 (방영 종료)

 

4. 예능 (방영 예정)

5. 예능 (방영 중)

6. 예능 (방영 종료)

 

7. TV (방영 예정)

8. TV (방영 중)

9. TV (방영 종료)

 

0. 종료

메뉴 입력 >

 

테스트로 방영중인 드라마를 추가해 보겠습니다.

 

 

 

드라마의 경우 자동으로 리스트가 관리되기 때문에 검색해서 추가하실 소요는 거의 없습니다.

 

상기처럼 진행하시면 자동으로 트랜스미션에 추가가 됩니다.

 

4. 모니터링 할 예능 및 TV 추가하기

 

예로 골목식당을 추가해 보겠습니다.

 

 

 

상기처럼 추가가 가능합니다.

 

5. 로그 확인 및 명령어 사용법

 

아래의 명령으로 로그를 확인합니다. 정상적으로 등록되었는지, 혹은 제대로 다운되고 있는지 확인이 가능합니다.

 

root@AOL-Debian:/home/showdown# showdownlog

2019-06-05 12:07:50,882   에피소드 생성 : 백종원의 골목식당 E61

2019-06-05 12:07:50,895   에피소드 생성 : 백종원의 골목식당 E62

2019-06-05 12:07:50,911   에피소드 생성 : 백종원의 골목식당 E63

2019-06-05 12:07:50,922   에피소드 생성 : 백종원의 골목식당 E64

2019-06-05 12:07:50,939   에피소드 생성 : 백종원의 골목식당 E65

2019-06-05 12:07:50,951   에피소드 생성 : 백종원의 골목식당 E66

2019-06-05 12:07:50,966   에피소드 생성 : 백종원의 골목식당 E67

2019-06-05 12:07:50,978   에피소드 생성 : 백종원의 골목식당 E68

2019-06-05 12:07:50,994   에피소드 생성 : 백종원의 골목식당 E69

2019-06-05 12:08:21,804   클라이언트 연결 끊김

 

초기에는 아래의 로그가 발생합니다.

 

2019-06-05 11:24:45,519   ####################################################

2019-06-05 11:24:45,522   <ShowDown> Server 1.53

2019-06-05 11:24:49,586   최신버전으로 업그레이드 필요

2019-06-05 11:24:49,635   트랜스미션 연결 성공

2019-06-05 11:24:50,193   DB 연결 성공

2019-06-05 11:24:50,212   테이블 확인 완료 : SHOWDOWN

2019-06-05 11:24:50,213   테이블 확인 완료 : DRAMA_LIST

2019-06-05 11:24:50,217   테이블 확인 완료 : DRAMA_EPISODE

2019-06-05 11:24:50,218   테이블 확인 완료 : ENTER_LIST

2019-06-05 11:24:50,219   테이블 확인 완료 : ENTER_EPISODE

2019-06-05 11:24:50,222   테이블 확인 완료 : TV_LIST

2019-06-05 11:24:50,223   테이블 확인 완료 : TV_EPISODE

2019-06-05 11:24:50,224   테이블 확인 완료 : TORRENT_DRAMA

2019-06-05 11:24:50,226   테이블 확인 완료 : TORRENT_ENTER

2019-06-05 11:24:50,227   테이블 확인 완료 : TORRENT_TV

2019-06-05 11:24:50,229   DB 스키마 : 1.53

2019-06-05 11:24:50,229   DB 최신버전

2019-06-05 11:24:50,240   서버 포트 오픈 : 4040

2019-06-05 11:24:50,241   쓰레드 시작 : ShowDown

2019-06-05 11:24:50,249   쓰레드 시작 : CLI

2019-06-05 11:24:50,250   쓰레드 시작 : Telegram Bot

 

다음으로 토렌트 사이트를 크롤링 합니다.

 

2019-06-05 11:24:50,469   드라마검색중... 1 페이지

2019-06-05 11:24:53,669   신규 토렌트 : 용왕님 보우하사.E94.190604.720p-NEXT

2019-06-05 11:24:53,684   신규 토렌트 : 태양의 계절.E02.190604.720p-NEXT

2019-06-05 11:24:53,696   신규 토렌트 : 여름아 부탁해.E26.190604.720p-NEXT

2019-06-05 11:24:53,707   신규 토렌트 : 검법남녀 시즌2 3-4회 합본.E02.190604.720p-NEXT

2019-06-05 11:24:53,720   신규 토렌트 : [미드] 왕좌의 게임(Game of Thrones) 시즌1~8.1080p.BluRay+WEBRip.한글자막

2019-06-05 11:24:53,732   신규 토렌트 : 어비스.E10.190604.720p-NEXT

2019-06-05 11:24:53,744   신규 토렌트 : 초면에 사랑합니다 19-20회 합본.E10.190604.720p-NEXT

2019-06-05 11:24:53,755   신규 토렌트 : 바람이 분다.E04.190604.720p-NEXT

2019-06-05 11:24:53,766   신규 토렌트 : 퍼퓸 3-4회 합본.E02.190604.720p-NEXT

2019-06-05 11:24:53,778   신규 토렌트 : 회사 가기 싫어 2019.E09.190604.720p-NEXT

2019-06-05 11:24:53,788   신규 토렌트 : 수상한 장모.E13.190605.720p-NEXT

2019-06-05 11:24:54,788   드라마검색중... 2 페이지

2019-06-05 11:24:56,063   예능검색중... 1 페이지

2019-06-05 11:24:56,271   신규 토렌트 : 쇼 챔피언 비하인드.E139.190604.720p-NEXT

2019-06-05 11:24:56,281   신규 토렌트 : 아이돌룸.E53.190604.H264.720p

2019-06-05 11:24:56,294   신규 토렌트 : 애들 생각.E09.190604.720p-NEXT

2019-06-05 11:24:56,305   신규 토렌트 : 프리한19.E159.190604.720p-NEXT

2019-06-05 11:24:56,315   신규 토렌트 : 비디오 스타.E147.190604.720p-NEXT

2019-06-05 11:24:56,329   신규 토렌트 : 수요미식회.E205.190604.720p-NEXT

2019-06-05 11:24:56,342   신규 토렌트 : 본격연예 한밤.E112.190604.720p-NEXT

2019-06-05 11:24:56,351   신규 토렌트 : [Jtbc2] 이번 판은 한복판이다 판벌려 E.01,190604 1080p.mp4

2019-06-05 11:24:56,366   신규 토렌트 : 나는 몸신이다.E230.190604.720p-NEXT

2019-06-05 11:24:56,378   신규 토렌트 : 불타는 청춘.E207.190604.720p-NEXT

2019-06-05 11:24:56,394   신규 토렌트 : 아내의 맛.E49.190604.720p-NEXT

2019-06-05 11:24:56,417   신규 토렌트 : 취존생활.E03.190604.720p-NEXT

2019-06-05 11:24:56,437   신규 토렌트 : 유 퀴즈 온 더 블럭.E20.190604.720p-NEXT

2019-06-05 11:24:56,463   신규 토렌트 : 신입사원 탄생기 굿피플.E09.190604.720p-NEXT

2019-06-05 11:24:56,571   신규 토렌트 : 엄지의 제왕.E333.190604.720p-NEXT

2019-06-05 11:24:57,571   예능검색중... 2 페이지

2019-06-05 11:24:58,935   TV검색중... 1 페이지

2019-06-05 11:24:59,274   신규 토렌트 : 인간극장.E4584.190604.720p-NEXT

2019-06-05 11:24:59,285   신규 토렌트 : 세계견문록 아틀라스.190604.우간다 르웬조리트레일 습지.720p-NEXT

2019-06-05 11:24:59,298   신규 토렌트 : 세계테마기행.E2302.190604.720p-NEXT

2019-06-05 11:24:59,315   신규 토렌트 : 한국기행.E2451.190604.720p-NEXT

2019-06-05 11:24:59,336   신규 토렌트 : 이웃집 찰스.E191.190604.720p-NEXT

2019-06-05 11:24:59,349   신규 토렌트 : EBS 다큐프라임.190604.720p-NEXT

2019-06-05 11:24:59,375   신규 토렌트 : 휴먼다큐 사노라면.E381.190604.720p-NEXT

2019-06-05 11:24:59,395   신규 토렌트 : 건축탐구 - 집.E05.190604.720p-NEXT

2019-06-05 11:25:00,396   TV검색중... 2 페이지

2019-06-05 11:25:01,592   ---------- 프로그램 검색 완료

 

이후 마그넷 검색 과정이 있으나, 저작권 관련하여 로그를 올리지 않습니다.

 

showdown cli 를 통해 드라마나 예능을 추가하면 아래와 같이 DB에 에피소드가 생성됩니다.

 

2019-06-05 12:00:52,022   클라이언트 접속 : /127.0.0.1

2019-06-05 12:07:49,871   추가 : 백종원의 골목식당

2019-06-05 12:07:50,046   에피소드 생성 : 백종원의 골목식당 E01

2019-06-05 12:07:50,058   에피소드 생성 : 백종원의 골목식당 E02

2019-06-05 12:07:50,071   에피소드 생성 : 백종원의 골목식당 E03

2019-06-05 12:07:50,085   에피소드 생성 : 백종원의 골목식당 E04

2019-06-05 12:07:50,098   에피소드 생성 : 백종원의 골목식당 E05

2019-06-05 12:07:50,110   에피소드 생성 : 백종원의 골목식당 E06

2019-06-05 12:07:50,123   에피소드 생성 : 백종원의 골목식당 E07

2019-06-05 12:07:50,136   에피소드 생성 : 백종원의 골목식당 E08

2019-06-05 12:07:50,149   에피소드 생성 : 백종원의 골목식당 E09

2019-06-05 12:07:50,162   에피소드 생성 : 백종원의 골목식당 E10

2019-06-05 12:07:50,174   에피소드 생성 : 백종원의 골목식당 E11

2019-06-05 12:07:50,188   에피소드 생성 : 백종원의 골목식당 E12

2019-06-05 12:07:50,202   에피소드 생성 : 백종원의 골목식당 E13

2019-06-05 12:07:50,217   에피소드 생성 : 백종원의 골목식당 E14

2019-06-05 12:07:50,231   에피소드 생성 : 백종원의 골목식당 E15

2019-06-05 12:07:50,244   에피소드 생성 : 백종원의 골목식당 E16

2019-06-05 12:07:50,259   에피소드 생성 : 백종원의 골목식당 E17

2019-06-05 12:07:50,273   에피소드 생성 : 백종원의 골목식당 E18

2019-06-05 12:07:50,287   에피소드 생성 : 백종원의 골목식당 E19

2019-06-05 12:07:50,300   에피소드 생성 : 백종원의 골목식당 E20

2019-06-05 12:07:50,314   에피소드 생성 : 백종원의 골목식당 E21

2019-06-05 12:07:50,328   에피소드 생성 : 백종원의 골목식당 E22

2019-06-05 12:07:50,341   에피소드 생성 : 백종원의 골목식당 E23

2019-06-05 12:07:50,355   에피소드 생성 : 백종원의 골목식당 E24

2019-06-05 12:07:50,369   에피소드 생성 : 백종원의 골목식당 E25

2019-06-05 12:07:50,383   에피소드 생성 : 백종원의 골목식당 E26

2019-06-05 12:07:50,396   에피소드 생성 : 백종원의 골목식당 E27

2019-06-05 12:07:50,410   에피소드 생성 : 백종원의 골목식당 E28

2019-06-05 12:07:50,426   에피소드 생성 : 백종원의 골목식당 E29

2019-06-05 12:07:50,442   에피소드 생성 : 백종원의 골목식당 E30

2019-06-05 12:07:50,457   에피소드 생성 : 백종원의 골목식당 E31

2019-06-05 12:07:50,469   에피소드 생성 : 백종원의 골목식당 E32

2019-06-05 12:07:50,483   에피소드 생성 : 백종원의 골목식당 E33

2019-06-05 12:07:50,497   에피소드 생성 : 백종원의 골목식당 E34

2019-06-05 12:07:50,512   에피소드 생성 : 백종원의 골목식당 E35

2019-06-05 12:07:50,525   에피소드 생성 : 백종원의 골목식당 E36

2019-06-05 12:07:50,539   에피소드 생성 : 백종원의 골목식당 E37

2019-06-05 12:07:50,554   에피소드 생성 : 백종원의 골목식당 E38

2019-06-05 12:07:50,569   에피소드 생성 : 백종원의 골목식당 E39

2019-06-05 12:07:50,583   에피소드 생성 : 백종원의 골목식당 E40

2019-06-05 12:07:50,597   에피소드 생성 : 백종원의 골목식당 E41

2019-06-05 12:07:50,610   에피소드 생성 : 백종원의 골목식당 E42

2019-06-05 12:07:50,626   에피소드 생성 : 백종원의 골목식당 E43

2019-06-05 12:07:50,639   에피소드 생성 : 백종원의 골목식당 E44

2019-06-05 12:07:50,653   에피소드 생성 : 백종원의 골목식당 E45

2019-06-05 12:07:50,666   에피소드 생성 : 백종원의 골목식당 E46

2019-06-05 12:07:50,681   에피소드 생성 : 백종원의 골목식당 E47

2019-06-05 12:07:50,696   에피소드 생성 : 백종원의 골목식당 E48

2019-06-05 12:07:50,710   에피소드 생성 : 백종원의 골목식당 E49

2019-06-05 12:07:50,723   에피소드 생성 : 백종원의 골목식당 E50

2019-06-05 12:07:50,738   에피소드 생성 : 백종원의 골목식당 E51

2019-06-05 12:07:50,753   에피소드 생성 : 백종원의 골목식당 E52

2019-06-05 12:07:50,768   에피소드 생성 : 백종원의 골목식당 E53

2019-06-05 12:07:50,782   에피소드 생성 : 백종원의 골목식당 E54

2019-06-05 12:07:50,796   에피소드 생성 : 백종원의 골목식당 E55

2019-06-05 12:07:50,810   에피소드 생성 : 백종원의 골목식당 E56

2019-06-05 12:07:50,826   에피소드 생성 : 백종원의 골목식당 E57

2019-06-05 12:07:50,839   에피소드 생성 : 백종원의 골목식당 E58

2019-06-05 12:07:50,853   에피소드 생성 : 백종원의 골목식당 E59

2019-06-05 12:07:50,866   에피소드 생성 : 백종원의 골목식당 E60

2019-06-05 12:07:50,882   에피소드 생성 : 백종원의 골목식당 E61

2019-06-05 12:07:50,895   에피소드 생성 : 백종원의 골목식당 E62

2019-06-05 12:07:50,911   에피소드 생성 : 백종원의 골목식당 E63

2019-06-05 12:07:50,922   에피소드 생성 : 백종원의 골목식당 E64

2019-06-05 12:07:50,939   에피소드 생성 : 백종원의 골목식당 E65

2019-06-05 12:07:50,951   에피소드 생성 : 백종원의 골목식당 E66

2019-06-05 12:07:50,966   에피소드 생성 : 백종원의 골목식당 E67

2019-06-05 12:07:50,978   에피소드 생성 : 백종원의 골목식당 E68

2019-06-05 12:07:50,994   에피소드 생성 : 백종원의 골목식당 E69

 

추가한 프로그램에 대해서 매칭이 되었을 경우 아래의 로그가 발생합니다.

 

2019-06-05 12:14:29,076   ---------- 토렌트 검색 완료

2019-06-05 12:14:29,147   발견 : 아스달 연대기 E01 720P 190601 - 아스달 연대기.E01.190601.720p-NEXT

2019-06-05 12:14:29,204   발견 : 아스달 연대기 E02 720P 190602 - 아스달 연대기.E02.190602.720p-NEXT

 

2019-06-05 12:14:30,416   발견 : 백종원의 골목식당 E66 720P 190515 - 백종원의 골목식당.E66.190515.720p-NEXT

2019-06-05 12:14:30,612   발견 : 백종원의 골목식당 E67 720P 190522 - 백종원의 골목식당.E67.190522.720p-NEXT

2019-06-05 12:14:30,627   발견 : 백종원의 골목식당 E68 720P 190529 - 백종원의 골목식당.E68.190529.720p-NEXT

 

2019-06-05 12:14:30,685   ---------- 트랜스미션 검색(0/71)

2019-06-05 12:14:30,694   다운로드 시작 - 아스달 연대기.E01.190601.720p-NEXT

2019-06-05 12:14:30,710   다운로드 시작 - 아스달 연대기.E02.190602.720p-NEXT

2019-06-05 12:14:30,726   다운로드 시작 - 백종원의 골목식당.E66.190515.720p-NEXT

2019-06-05 12:14:30,741   다운로드 시작 - 백종원의 골목식당.E67.190522.720p-NEXT

2019-06-05 12:14:30,755   다운로드 시작 - 백종원의 골목식당.E68.190529.720p-NEXT

2019-06-05 12:14:30,763   ---------- 다운로드 (5/5)

2019-06-05 12:14:30,772   트랜스미션 상태 : 아스달 연대기.E01.190601.720p-NEXT / 다운로드중 / 0%

2019-06-05 12:14:30,778   트랜스미션 상태 : 아스달 연대기.E02.190602.720p-NEXT / 다운로드중 / 0%

2019-06-05 12:14:30,787   트랜스미션 상태 : 백종원의 골목식당.E66.190515.720p-NEXT / 다운로드중 / 0%

2019-06-05 12:14:30,796   트랜스미션 상태 : 백종원의 골목식당.E67.190522.720p-NEXT / 다운로드중 / 0%

2019-06-05 12:14:30,803   트랜스미션 상태 : 백종원의 골목식당.E68.190529.720p-NEXT / 다운로드중 / 0%

2019-06-05 12:14:30,804   ---------- 상태확인 (0/5)

2019-06-05 12:14:30,807   ---------- 파일처리 (0/0)

2019-06-05 12:14:30,810   ---------- 토렌트삭제 (0/0)

2019-06-05 12:14:43,352   ########## 프로세스 실행중 - 60분후(2019-06-05 13:14:43) 재시작

 

이후 트랜스미션UI로 가보면 토렌트가 추가되어 있습니다.

 

 

이후 다운로드가 완료되고 스캔시간이 되면 자동으로 완료처리가 되고 파일이름이 바뀐 다음에 지정된 경로로 배치가 일어납니다.

 

아래처럼 다운로드가 완료되고 스캔시간 60분 혹은 10분이 다다르면 아래와 같은 로그가 발생됩니다.

 

 

2019-06-05 13:30:08,279   ---------- 다운로드 (0/0)

2019-06-05 13:30:08,287   트랜스미션 상태 : 아스달 연대기.E01.190601.720p-NEXT / 멈춤 / 100%

2019-06-05 13:30:08,303   트랜스미션 상태 : 아스달 연대기.E02.190602.720p-NEXT / 멈춤 / 100%

2019-06-05 13:30:08,319   트랜스미션 상태 : 백종원의 골목식당.E66.190515.720p-NEXT / 멈춤 / 100%

2019-06-05 13:30:08,333   트랜스미션 상태 : 백종원의 골목식당.E67.190522.720p-NEXT / 멈춤 / 100%

2019-06-05 13:30:08,346   트랜스미션 상태 : 백종원의 골목식당.E68.190529.720p-NEXT / 멈춤 / 100%

2019-06-05 13:30:08,356   ---------- 상태확인 (5/5)

2019-06-05 13:30:11,459   토렌트파일명 변경 : 아스달 연대기.E01.190601.720p-NEXT.mp4 - 아스달 연대기.S01E01.190601.720P

2019-06-05 13:30:11,867   파일경로 변경 : 아스달 연대기.E01.190601.720p-NEXT - /mnt/by-uuid/8444979044978418/showdown/drama/아스달 연대기

2019-06-05 13:30:11,933   토렌트파일명 변경 : 아스달 연대기.E02.190602.720p-NEXT/아스달 연대기.E02.190602.720p-NEXT.mp4 - 아스달 연대기.S01E02.190602.720P

2019-06-05 13:30:12,376   파일경로 변경 : 아스달 연대기.E02.190602.720p-NEXT - /mnt/by-uuid/8444979044978418/showdown/drama

2019-06-05 13:30:12,442   토렌트파일명 변경 : 백종원의 골목식당.E66.190515.720p-NEXT/백종원의 골목식당.E66.190515.720p-NEXT.mp4 - 백종원의 골목식당.S01E66.190515.720P

2019-06-05 13:30:12,996   파일경로 변경 : 백종원의 골목식당.E66.190515.720p-NEXT - /mnt/by-uuid/8444979044978418/showdown/entertain

2019-06-05 13:30:13,062   토렌트파일명 변경 : 백종원의 골목식당.E67.190522.720p-NEXT/백종원의 골목식당.E67.190522.720p-NEXT.mp4 - 백종원의 골목식당.S01E67.190522.720P

2019-06-05 13:30:14,148   파일경로 변경 : 백종원의 골목식당.E67.190522.720p-NEXT - /mnt/by-uuid/8444979044978418/showdown/entertain

2019-06-05 13:30:14,324   토렌트파일명 변경 : 백종원의 골목식당.E68.190529.720p-NEXT/백종원의 골목식당.E68.190529.HDTV.H264.720p.mp4 - 백종원의 골목식당.S01E68.190529.720P

2019-06-05 13:30:14,836   파일경로 변경 : 백종원의 골목식당.E68.190529.720p-NEXT - /mnt/by-uuid/8444979044978418/showdown/entertain

2019-06-05 13:30:14,843   ---------- 파일처리 (5/5)

2019-06-05 13:30:14,855   트랜스미션 삭제 완료 : 아스달 연대기.E01.190601.720p-NEXT

2019-06-05 13:30:14,872   트랜스미션 삭제 완료 : 아스달 연대기.E02.190602.720p-NEXT

2019-06-05 13:30:14,885   트랜스미션 삭제 완료 : 백종원의 골목식당.E66.190515.720p-NEXT

2019-06-05 13:30:14,901   트랜스미션 삭제 완료 : 백종원의 골목식당.E67.190522.720p-NEXT

2019-06-05 13:30:14,914   트랜스미션 삭제 완료 : 백종원의 골목식당.E68.190529.720p-NEXT

2019-06-05 13:30:14,923   ---------- 토렌트삭제 (5/5)

 

이후 토렌트 진행 목록에서 없어집니다.

 

 

torrent 폴더에서의 파일이 showdown 으로 이동이 되기 때문에 최종 결과는 아래와 같습니다.

 

├── showdown

│   ├── drama

│   │   └── 아스달 연대기

│   │       ├── 아스달 연대기.S01E01.190601.720P.mp4

│   │       ├── 아스달 연대기.S01E02.190602.720P.mp4

│   │       └── www.btranking.com.txt

│   ├── entertain

│   │   └── 백종원의 골목식당

│   │       ├── 백종원의 골목식당.S01E66.190515.720P.mp4

│   │       ├── 백종원의 골목식당.S01E67.190522.720P.mp4

│   │       ├── 백종원의 골목식당.S01E68.190529.720P.mp4

│   │       └── www.btranking.com.txt

│   └── tv

└── torrent

 

6. PlexMediaServer 와 연동하기

 

U5 자체의 플렉스 서버와 연동을 아래와 같이 하실 수 있습니다.

 

쇼다운 경로를 아래와 같이 설정하여 진행해 보았습니다.

 

 

 

초기에는 파일이 다운되지 않아서 아래와 같이 비어있는 상태입니다. (플렉스의 경우 파일시스템이 FUSE 가 아닐 경우 부분스캔 가능)

 

 

상기 받았던 파일의 스캔이 일어나면 아래와 같이 정리가 되고 시청이 가능합니다.

 

 

 

 

 

 

 

 

 

 

5. 마치며..

 

기타 질문 사항은 덧글로 남겨주시길 바랍니다 ㅎㅎ

 

감사합니다.

 

https://cafe.naver.com/mk802/31889

 

U5 커스텀 백업 0.6 리눅스 버전...

대한민국 모임의 시작, 네이버 카페

cafe.naver.com

 

Best Practices for Developing on Android TV (Google I/O'19)

 

 

https://www.youtube.com/watch?v=Vo-UQDVykIs

 

 

 

Be successful building on Android TV with insight into integrations, streaming best practices, UHD support and key libraries to increase velocity, success metrics, and lessons learned along the way. Reach more people on a platform that has grown 2x year over year and has over 4,000 apps in its ecosystem.

 

Rockchip은 어제 자신의 연례 행사를 통해 과거 업적을 볼 수 있었을뿐만 아니라 새로운 제품 발표로 미래를 엿볼 수있었습니다. 이 회사는 Cortex-A76 및 Cortex-A55 코어, 8K 비디오 디코딩 지원, 4K 사용자 인터페이스 지원, 8nm LP 프로세스를 사용하여 제조 된 NPU 2.0 (Neural Processing Unit)을 특징으로하는 Rockchip RK3588로 다음 단계로 나아갈 준비가되어 있습니다.

프로세서는 "coldfish"의 팁에 따라 4 + 4 다이나믹 IQ 구성에서 8 개의 코어를 가져야하며 새로운 8nm 프로세스는 전력 소비를 40 % 줄이면서 성능을 20 ~ 30 % 증가시킬 것으로 예상됩니다. 대량 생산은 2020 년 1 분기로 예정되어 있습니다.

이 회사는 또한 비디오 인코더 / 디코더 IP로 슬라이드를 보여 주었고 Gen3는 AVS3 또는 H.266 (VVC)을 사용하는 8K 60fps 디코더가있는 유일한 제품이기 때문에 RK3588에 있어야합니다. AV1 구현을 보여주기 때문에 Gen1 디코더와 혼동스럽고 새로운 것도 있어야합니다. 8K 60fps 비디오 인코더도 작동합니다.

Mali-G52 GPU, 4K HDR, USB 3.0, SATA 및 기가비트 이더넷이 장착 된 RK3530 쿼드 코어 Cortex-A55 프로세서는 RK3588이 분명히 이번 쇼의 하이라이트 였지만 Rockchip SoC 포트폴리오를 보완하는 유일한 제품은 아니 었습니다. 2019 년 3 분기에 계획되었습니다.

다른 주목할만한 발표로는 RK2108 Arm Cortex-M4 오디오 칩과 NPU 2.0 AI 가속기가 장착 된 RV1109 듀얼 코어 4K H.264 / H.265 카메라 SoC가 올해 하반기에 출시 될 예정이다.

이 회사는 또한 Internet of Things 애플리케이션을 목표로하고 2019 년 3 분기에 샘플을 제공 할 예정인 802.11 b / g / n WiFi를 갖춘 RK2206 Arm Cortex-M4F 마이크로 컨트롤러를 갖춘 최초의 무선 MCU를 발표했다.

 

 

https://www.cnx-software.com/2019/04/24/rk3588-8k-arm-cortex-a76-a55-soc-rockchip-roadmap-2020/

 

RK3588 8K Arm Cortex-A76/A55 SoC, Rockchip Roadmap to 2020

Rockchip had their annual event yesterday offering a view of past achievements, as well as a glimpse into the future with new products announcements. The

www.cnx-software.com

 

 

며칠 전에 S905X3, S905Y3 및 S905D3 SoC를 갖춘 Amlogic의 쿼드 코어 Cortex-A55 프로세서 에 대해 썼습니다 . 오늘, 주요 기능과 블록 다이어그램을 포함한 제품 요약을 통해 좀 더 많은 정보를 얻었습니다.

Amlogic S905X3은 하이브리드 OTT / IP 셋톱 박스 (STB) 및 하이 엔드 미디어 박스 애플리케이션 용으로 설계된 고급 애플리케이션 프로세서로 설명됩니다.

 

Amlogic S905X3 제품 사양 :

  • CPU Sub-system
    • Quad core Arm Cortex-A55 CPU with Armv8-A Neon and Crypto extension, 8-stage in-order full dual issue pipeline, unified system L3 cache
    • Arm Cortex-M3 core for system control processing
    • Optional Arm Cortex-M4 core for always-on processing
    • TrustZone
    • Internal QoS based switching fabrics
  • Optional Neural Network Accelerator – 1.2 TOPS NN inference accelerator supporting TensorFlow and Caffe
  • 3D Graphics Processing Unit – Arm Mali G31MP2 GPU with support for OpenGL ES 3.2, Vulkan 1.0 and OpenCL 2.0 support
  • 2.5D Graphics Processor
    • Fast bitblt engine with dual inputs and single output
    • Programmable raster operations (ROP)
    • Programmable polyphase scaling filter
    • Support for 4:2:0, 4:2:2, and 4:4:4 video formats, and multiple pixel formats (8/16/24/32 bits graphic layer)
    • Fast color space conversion
    • Advanced anti-flickering filter
  • Crypto Engine
    • AES block cipher with 128/265 bits keys
    • TDES block cipher with ECB and CDC modes
    • SM4 block cipher with ECB, CBC, CTR modes
    • Hardware crypto key-ladder operation and DVB-CSA for transport stream encryption
    • TRNG, CRC and SHA-1/SHA-2/HMAC SHA engine
  • Video/Picture CODEC
    • Amlogic Video Engine (AVE) with dedicated hardware decoders and encoders
    • Support multi-video decoder up to 4x 1080p60
    • Support multiple secured video decoding sessions and simultaneous decoding and encoding
    • Video/Picture Decoding
      • VP9 Profile-2 up to 4Kx2K @ 60 fps
      • H.265 HEVC MP-10 @ L5.1 up to 4Kx2K @ 60 fps
      • AVS2-P2 Profile up to 4Kx2K @ 60 fps
      • H.264 AVC HP @ L5.1 up to 4Kx2K @ 30 fps
      • MPEG-4 ASP @ L5, WMV/VC-1, AVS-R16/AVS-R2 JiZhun Profile, MPEG-2, MPEG-1, and RealVideo 8/9/10 up to 1080p60
      • Multiple language and multiple format sub-title video support
      • MJPEG and JPEG unlimited pixel resolution decoding (ISO/IEC-10918)
      • Support JPEG thumbnail, scaling, rotation and transition effects
      • Supports mkv, wmv, mpg, mpeg, dat, avi, mov, iso, mp4, rm, and jpg file formats
    • Video/Picture Encoding
      • Independent JPEG and H.264 encoder with configurable performance/bitrate
      • JPEG image encoding
      • H.265/H.264 video encoding up to 1080p60 with low latency
  • 8th Generation Advanced Amlogic TruLife Image Engine
    • Supports Dolby Vision (optional), HDR10+, HDR10, HLD and Technicolor HDR processing
    • Motion compensated noise reduction, and 3D digital noise reduction for random noise
    • Block noise, mosquito noise, spatial noise, contour noise reduction
    • Motion compensated and motion adaptive de-interlacer
    • Edge interpolation with low angle protection and processing
    • Smart sharpness with Superscalar technology including de-contouring, de-ring, LTI, CTI, de-jaggy, peaking
    • Dynamic non-linear contrast enhancement
    • All dimension multiple regions smart color management including blue/green extension, flesh-tone correction, wider gamut for video
    • 2 video planes and 3 graphics planes hardware composer
    • Independent HDR re-mapping of video and graphic layer
  • Video Input/Output Interface
    • Built-in HDMI 2.1 transmitter including both controller and PHY supporting CEC, Dynamic HDR and HDCP 2.2, 4Kx2K @ 60 Hz max resolution output, ALLM (Auto Low Latency Mode)
    • CVBS 480i/576i standard definition output
    • Support all standard video output formats: 480i/p, 576i/p,. 720p, 1080i/p, 4Kx2K
  • Audio Decoder and Input/Output
    • Supports MP3, AAC, WMA, RM, FLAC, Ogg and programmable with 7.1/5.1 down-mixing
    • Low-power VAD (Voice Activity Detection)
    • Built-in serial digital audio SPDIF/IEC958 input/output and PCM input/output
    • 3x TDM/PCM/I2S ports with TDM/PCM mode up to 384 KHz x 32 bits x 16ch or 96 KHz x 32 bits x 32 ch, and I2S mode up to 384 KHz x 32 bits x 16 ch
    • Digital microphone PDM input with programmable CIC, LPF & HPF, support up to 8 DMICs
    • Built-in Stereo audio DAC
    • Supports concurrent dual audio stereo channel output with combination of analog+PCM or I2S + PCM
  • Memory & Storage Interface
    • 32-bit DRAM memory interface with dual ranks and max 4GB total address space
    • Compatible with JEDEC standard DDR3-2133 / DDR3L-2133 / DDR4-3200 / LPDDR3-2133 / LPDDR4-3200 SDRAM
    • Support SLC/LMC/TLC NAND flash with 60-bit ECC
    • SDSC/SDHC/SDXC card and SDIO interface with 1-bit and 4-bit data bus width supporting up to UHS-I SDR104 mode
    • eMMC and MMC card interface with 1/4/8-bit data bus width supporting spec version 5.0 HS400
    • Support serial 1, 2 or 4-bit NOR flash via SPI
    • Built-in 4k bits One-Time-Programming memory for key storage
  • Network
    • Integrated 10/100/1000M Ethernet MAC with RGMII interface
    • Integrated 10/100M Ethernet PHY interface
    • WiFi & Bluetooth supported via PCIe, SDIO, USB, UART, or PCM
    • Network interface optimized for mixed WiFi and Bluetooth traffic
  • Digital Television Interface
    • One serial and one parallel Transport Stream (TS) input interface with built-in demux processor for connecting to external digital TV tuner/demodulator
    • Built-in PWM, I2C and SPI interfaces to control tuner and demodulator
    • Integrated ISO7816 smart card controller
  • Integrated I/O controllers and interfaces
    • 1x USB XHCI OTG 2.0 port
    • One USB SS and PCIe 2.0 combo port up to 5 Gbps configurable with either:
      • 1x USB 2.0 host port + PCIe
      • 1x USB 3.0 without PCIe
    • Multiple PWM, UART, I2C and SPI interfaces with slave select
    • Programmable IR remote input/output controllers
    • Built-in 10-bit SAR ADC with 4 input channels
    • GPIOs with built-in pull up and pull down
  • System, Peripherals and Misc. Interfaces
    • Integrated general purpose timers, counters, DMA controllers
    • 24 MHz crystal input
    • Embedded debug interface using ICE/JTAG
    • Integrated Power On Reset (POR) module
  • Power Management
    • Multiple internal power domains controlled by software
    • Multiple sleep modes for CPU, system, DRAM, etc..
    • Multiple internal PLLs for DVFS operation
    • Multi-voltage I/O design for 1.8V and 3.3V
    • Power management auxiliary processor in a dedicated always-on (AO) power domain that communicate with an external PMIC
  • Security
    • TrustZone based Trusted Execution Environment (TEE)
    • Secured boot, encrypted OTP, encrypted DRAM with memory integrity checker, hardware key ladder and internal control buses and storage
    • Separated secure/non-secure Entropy true RNG
    • Pre-region/ID memory security control and electric fence
    • Hardware based Trusted Video Path (TVP), video watermarking and secured contents (needs SecureOS software)
    • Secured IO and secured clock
  • Package – FCBGA, 14 x 14mm, RoHS compliant

 

Cortex-A55 코어는 메모리 벤치 마크에서 Cortex-A53과 비교하여 최대 2 배의 성능 을 제공 하며 동일한 주파수에서 일반적인 작업에 대해 20 ~ 30 %의 성능 향상을 이룬다.

Amlogic S905X3에는 Neural Network Accelerator와 Cortex-M4 코어와 같은 몇 가지 옵션 기능이 있으므로 항상 부품 번호를 알고 있어야하지만 제품 개요에 자세히 나와 있지 않습니다.

 

https://www.cnx-software.com/2019/04/12/amlogic-s905x3-specifications-block-diagram/

Amlogic S905X3 Specifications & Block Diagram

A few days ago, we wrote about upcoming quad core Cortex-A55 processors from Amlogic with S905X3, S905Y3, and S905D3 SoCs. Today, we got a little more

www.cnx-software.com

안드로이드8 상태에서 리눅스 펌웨어 구동 성공하고 커널 버전이 올라 개선점을 찾고 있습니다.

 

차후에 배포하도록 하겠습니다.

 

감사합니다.

 

미드 레인지 전문 전문 브랜드 인 XGIMI 프로젝터 는 새로운 XGIMI MoGo Pro 를위한 기금 마련을위한 캠페인 인 Microgomance 포털 인 IndieGogo 를 통해 막 시작했습니다 . 또한이 새로운 프로젝터 는 구글 어시스턴트와 Chromecast가 포함 된 구글의 인증을받은 안드로이드 TV 9.0 을 포함함으로써 디자인의 우수성을 입증 했다. 이 프로젝터의 디자인은 매우 신중합니다. 우리가 익숙한 대로이 브랜드에는 3W Harman Kardon 스피커 와 내부 배터리가있어 최대 3 시간의 재생이 가능합니다.

 

프로젝터 사양 

XGIMI MoGo 프로  프로젝터 포함 DLP 의 해상도가 1920 × 1080  픽셀 의 밝기  250-300 ANSI 루멘을 그동안  XGIMI MoGo의 해상도를 유지 720 × 540 픽셀 210 ANSI의 밝기. 사다리꼴 보정으로 초점 조절이 자동으로 이루어지며 30 " 에서 100" 사이의 화면을 얻을 수 있습니다 .

이 프로젝터는 146x105x94 mm 크기로 무게는 900g 이며 상단에 터치 컨트롤이 있습니다.

연결, 멀티미디어 및 기타  기능

연결 인터페이스 XGIMI MoGo 프로 인  USB 포트, 3.5mm의 오디오 잭 및 콘솔 또는 다른 장치를 연결할 수있는 HDMI 커넥터. 

온칩 프로세서로서 가질 Amlogic T950X2 (S905X2 현재 버전) , 쿼드 코어 ARM 코어 텍스 A53은 1.8GHz의 GPU와 말리 G31 프로세서 도달. RAM은 2GB 이고 내부 저장 장치는 16GB 입니다. 현재 우리는 모든 사양을 가지고 있지는 않지만 WiFi 및 Bluetooth도 포함합니다.

가격 및 가용성

  • 프로젝터 XGIMI MoGo / 프로는 웹 사이트에 예약 할 수 IndieGoGo.com 에서 € 266 의 가장 기본적인 버전의 해상도에서 ($ 299) 540 개및 출하 될 예정입니다 2019년 10월 .

 

https://androidpc.es/xgimi-mogo-pro-opinion/

 

XGIMI MoGo Pro un proyector FHD con Android TV 9 certificado por Google

La conocida marca China de proyectores XGIMI especializada en la gama media acaba de lanzar via el portal de microfinaciación IndieGogo una campaña para recaudar fondos para su nuevo XGIMI MoGo Pro…

androidpc.es

 

Android TV 채널 만들기

생방송 TV 프로그램 및 기타 연속 채널 기반 콘텐츠를 보는 것은 TV 경험의 중요한 부분입니다. 사용자는 채널 탐색을 통해 TV에서 프로그램을 선택하고 시청하는 데 익숙합니다. TV 입력 프레임 워크는 TV 프로그래밍 가이드에서 비디오 또는 음악 컨텐트를 게시하기위한 채널을 만듭니다.

참고 : TV 입력 프레임 워크는 Android 시스템 TV 앱의 채널을 만드는 데 OEM에서 사용하기위한 것입니다. Android 5.0 (API 레벨 21)에서 Android 7.1 (API 레벨 25)을 통해서만 지원됩니다. 타사 앱은 Android TV 홈 화면 API를 사용하여 콘텐츠 채널을 구축해야합니다. 자세한 내용  TV 콘텐츠 추천 을 참조하십시오.

TV 입력 프레임 워크는 HDMI 포트 및 내장 튜너와 같은 하드웨어 소스 및 인터넷을 통해 스트리밍 된 비디오와 같은 소프트웨어 소스에서 라이브 비디오 컨텐츠를 수신하고 재생하는 통일 된 방법을 제공합니다.

이 프레임 워크를 통해 개발자는 TV 입력 서비스를 구현하여 라이브 TV 입력 소스를 정의 할 수 있습니다. 이 서비스는 TV 공급자에게 채널 및 프로그램 목록을 게시합니다. TV 장치의 라이브 TV 앱은 TV 공급자로부터 사용 가능한 채널 및 프로그램 목록을 가져 와서 사용자에게 표시합니다. 사용자가 특정 채널을 선택하면, 라이브 TV 앱은 TV 입력 관리자를 통해 연관된 TV 입력 서비스에 대한 세션을 생성하고, TV 입력 서비스에 요청 된 채널을 튜닝하고, 사용자가 제공 한 디스플레이 표면으로 콘텐츠를 재생하도록 지시한다 TV 앱.

그림 1. TV 입력 프레임 워크의 기능적 다이어그램

TV 입력 프레임 워크는 다양한 라이브 TV 입력 소스에 대한 액세스를 제공하고 사용자가 콘텐츠를 검색,보고 및 감상 할 수 있도록 단일 사용자 인터페이스에서 함께 가져올 수 있도록 설계되었습니다. 콘텐츠 용 TV 입력 서비스를 구축하면 TV 장치에서 더 쉽게 액세스 할 수 있습니다.

TV 입력 서비스 샘플 앱을 사용해보십시오 .

토픽

TV 입력 서비스 개발시스템 TV 앱과 함께 작동하는 TV 입력 서비스를 개발하는 방법에 대해 알아보십시오.채널 데이터로 작업시스템의 채널 및 프로그램 데이터를 설명하는 방법을 익히십시오.사용자 상호 작용 관리오버레이를 표시하고, 콘텐츠 가용성을 관리하고, 콘텐츠 선택을 처리하는 방법에 대해 알아보십시오.시간 이동 지원TV 입력 서비스에서 시간 이동을 지원하는 방법에 대해 알아보십시오.콘텐츠 레코딩 지원TV 입력 서비스에서 콘텐츠 레코딩을 지원하는 방법에 대해 알아보십시오.

 

https://developer.android.com/training/tv/tif

 

TIF를 사용한 샘플 Android TV 채널 앱 (TV 입력)

이 앱은 TIF (TV Input Framework)를 사용하여 Android TV 용 라이브 TV 채널 앱을 제작하는 방법을 보여줍니다. 샘플은 일단 설치되면 기본 TV 앱 (예 : 라이브 채널 앱)에서 인식되고 실행되는 서비스입니다.

소개

샘플 앱은 하나의 TV 입력으로 구성됩니다. MP4 동영상, HLS 스트림 및 MPEG-DASH 스트림으로 구성된 4 개 채널로 다양한 장르로 구성됩니다. 동영상 파일은 Google Cloud Storage에서 제공됩니다.

참조 및 개발자 가이드

TIF 도우미 라이브러리

이 응용 프로그램은 TIF 도우미 라이브러리를 사용합니다 . 라이브러리의 소스 코드가 library디렉토리에 있습니다. 프로젝트에서이 라이브러리를 사용하려면 디렉토리를 복사하거나 다음과 같은 Gradle 종속성을 사용하십시오.

compile 'com.google.android.libraries.tv:companionlibrary:0.4.1'

사전 요구 사항

시작하기

하나 이상의 TV 입력 서비스 또는 HDMI1과 같은 실제 입력이 없으면 라이브 채널 앱이 집 화면의 앱에 표시되지 않습니다.

TV 입력을 설정하려면,

  • 라이브 채널 앱 시작
  • 검색을 클릭하여 채널을 검색하고 추가하십시오.
  • 또는 라이브 채널 앱에서,
    • 최근 채널을 가져 오려면 ENTER를 클릭하십시오.
    • TV 옵션을 입력하려면 아래쪽을 클릭하십시오.
    • 채널 소스를 오른쪽 클릭하고 선택하십시오.
    • 서식있는 입력을 선택하려면 아래쪽을 클릭하고 선택하려면 Enter를 클릭하십시오.
    • 채널 추가를 클릭하여 MP4 동영상, HLS 스트림 및 MPEG-DASH 스트림의 채널을 추가하십시오.
  • 샘플 채널을 시청하려면 간단히 UP과 DOWN을 전환하여 채널을 전환하십시오
  • 채널 소스 -> 서식있는 입력 -> 설정을 방문하여 입력 설정에 대한 모의 옵션을 확인하십시오.

스크린 샷

 

지원하다

특허

Apache 2.0 라이센스에 따른 라이센스. 자세한 내용은 LICENSE 파일을 참조하십시오.

기부금을 어떻게 내는가?

CONTRIBUTING.md의 단계를 읽고 따르십시오.

주의

이 샘플에서 사용 된 이미지 / 비디오는 블렌더 재단이 저작권이나 크리에이티브 커먼즈 라이센스하에 공유 한 것입니다.

  • 코끼리의 꿈 : (c) 저작권 2006, 블렌더 재단 / 네덜란드 미디어 아트 인스티튜트 / www.elephantsdream.org
  • Sintel : (c) 저작권 Blender Foundation | www.sintel.org
  • 눈물의 강철 : (CC) 블렌더 파운데이션 | mango.blender.org
  • Big Buck Bunny : (c) copyright 2008, 블렌더 파운데이션 / www.bigbuckbunny.org

 

https://github.com/googlesamples/androidtv-sample-inputs

 

googlesamples/androidtv-sample-inputs

Sample Channel App (TV Input Service) on Android TV using TIF - googlesamples/androidtv-sample-inputs

github.com

https://developer.android.com/reference/android/media/tv/package-summary.html

 

android.media.tv  |  Android Developers

Content and code samples on this page are subject to the licenses described in the Content License. Java is a registered trademark of Oracle and/or its affiliates.

developer.android.com

Develop a TV input service

A TV input service represents a media stream source, and lets you present your media content in a linear, broadcast TV fashion as channels and programs. With a TV input service, you can provide parental controls, program guide information, and content ratings. The TV input service works with the Android system TV app. This app ultimately controls and presents channel content on the TV. The system TV app is developed specifically for the device and immutable by third-party apps. For more information about the TV Input Framework (TIF) architecture and its components, see TV Input Framework.

Create a TV input service using the TIF Companion Library

The TIF Companion Library is a framework that provides extensible implementations of common TV input service features. Use the TIF Companion Library to quickly and easily create your own TV input service that follows best practices for Android TV.

Update your project

To get started using the TIF Companion Library, add the following to your app’s build.gradle file:

compile 'com.google.android.libraries.tv:companionlibrary:0.2'

 

The TIF Companion Library is not currently part of the Android framework. It is distributed as a Gradle dependency through jcenter, not with the Android SDK. Check jcenter to find the latest version of the tif-companion library.

Declare your TV input service in the manifest

Your app must provide a TvInputService-compatible service that the system uses to access your app. The TIF Companion Library provides the BaseTvInputService class, which provides a default implementation of TvInputService that you can customize. Create a subclass of BaseTvInputService, and declare the subclass in your manifest as a service.

Within the manifest declaration, specify the BIND_TV_INPUT permission to allow the service to connect the TV input to the system. A system service performs the binding and has the BIND_TV_INPUT permission. The system TV app sends requests to TV input services via the TvInputManager interface.

In your service declaration, include an intent filter that specifies TvInputService as the action to perform with the intent. Also declare the service metadata as a separate XML resource. The service declaration, intent filter, and service metadata declaration are shown in the following example:

<service android:name=".rich.RichTvInputService"
   
android:label="@string/rich_input_label"
   
android:permission="android.permission.BIND_TV_INPUT">
   
<!-- Required filter used by the system to launch our account service. -->
   
<intent-filter>
       
<action android:name="android.media.tv.TvInputService" />
   
</intent-filter>
   
<!-- An XML file which describes this input. This provides pointers to
    the RichTvInputSetupActivity to the system/TV app. -->

   
<meta-data
       
android:name="android.media.tv.input"
       
android:resource="@xml/richtvinputservice" />
</service>

 

Define the service metadata in a separate XML file. The service metadata XML file must include a setup interface that describes the TV input's initial configuration and channel scan. The metadata file should also contain a flag stating whether or not users are able to record content. For more information on how to support recording content in your app, see TV recording.

The service metadata file is located in the XML resources directory for your app and must match the name of the resource you declared in the manifest. Using the manifest entries from the previous example, you would create the XML file at res/xml/richtvinputservice.xml, with the following contents:

<?xml version="1.0" encoding="utf-8"?>
<tv-input xmlns:android="http://schemas.android.com/apk/res/android"
 
android:canRecord="true"
 
android:setupActivity="com.example.android.sampletvinput.rich.RichTvInputSetupActivity" />

 

Define channels and create your setup activity

Your TV input service must define at least one channel that users access via the system TV app. You should register your channels in the system database, and provide a setup activity that the system invokes when it cannot find a channel for your app.

First, enable your app to read from and write to the system Electronic Programming Guide (EPG), whose data includes channels and programs available to the user. To enable your app to perform these actions, and sync with the EPG after device restart, add the following elements to your app manifest:

<uses-permission android:name="com.android.providers.tv.permission.READ_EPG_DATA" />
<uses-permission android:name="com.android.providers.tv.permission.WRITE_EPG_DATA" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED "/>

 

Add the following element to ensure that your app shows up in the Google Play Store as an app that provides content channels in Android TV:

<uses-feature
   
android:name="android.software.live_tv"
   
android:required="true" />

 

Next, create a class which extends the EpgSyncJobService class. This abstract class makes it easy to create a job service that creates and updates channels in the system database.

In your subclass, create and return your full list of channels in getChannels(). If your channels come from an XMLTV file, use the XmlTvParser class. Otherwise generate channels programmatically using the Channel.Builder class.

For each channel, the system calls getProgramsForChannel() when it needs a list of programs that can be viewed within a given time window on the channel. Return a list of Program objects for the channel. Use the XmlTvParserclass to obtain programs from an XMLTV file, or generate them programmatically using the Program.Builder class.

For each Program object, use an InternalProviderData object to set program information such as the program's video type. If you only have a limited number of programs that you want the channel to repeat in a loop, use theInternalProviderData.setRepeatable() method with a value of true when setting information about your program.

After you've implemented the job service, add it to your app manifest:

<service
   
android:name=".sync.SampleJobService"
   
android:permission="android.permission.BIND_JOB_SERVICE"
   
android:exported="true" />

 

Finally, create a setup activity. Your setup activity should provide a way to sync channel and program data. One way to do this is for the user to do it via the UI in the activity. You might also have the app do it automatically when the activity starts. When the setup activity needs to sync channel and program info, the app should start the job service:

KOTLINJAVA

val inputId = getActivity().intent.getStringExtra(TvInputInfo.EXTRA_INPUT_ID)
EpgSyncJobService.cancelAllSyncRequests(getActivity())
EpgSyncJobService.requestImmediateSync(
        getActivity
(),
        inputId
,
       
ComponentName(getActivity(), SampleJobService::class.java)
)

 

Use the requestImmediateSync() method to sync the job service. The user must wait for the sync to finish, so you should keep your request period relatively short.

Use the setUpPeriodicSync() method to have the job service periodically sync channel and program data in the background:

KOTLINJAVA

EpgSyncJobService.setUpPeriodicSync(
        context
,
        inputId
,
       
ComponentName(context, SampleJobService::class.java)
)

 

The TIF Companion Library provides an additional overloaded method of requestImmediateSync() that lets you specify the duration of channel data to sync in milliseconds. The default method syncs one hour's worth of channel data.

The TIF Companion Library also provides an additional overloaded method of setUpPeriodicSync() that lets you specify the duration of channel data to sync, and how often the periodic sync should occur. The default method syncs 48 hours of channel data every 12 hours.

For more details about channel data and the EPG, see Work with channel data.

Handle tuning requests and media playback

When a user selects a specific channel, the system TV app uses a Session, created by your app, to tune to the requested channel and play content. The TIF Companion Library provides several classes you can extend to handle channel and session calls from the system.

Your BaseTvInputService subclass creates sessions which handle tuning requests. Override theonCreateSession() method, create a session extended from the BaseTvInputService.Session class, and callsuper.sessionCreated() with your new session. In the following example, onCreateSession() returns aRichTvInputSessionImpl object that extends BaseTvInputService.Session:

KOTLINJAVA

override fun onCreateSession(inputId: String): Session =
       
RichTvInputSessionImpl(this, inputId).apply {
            setOverlayViewEnabled
(true)
       
}

 

When the user uses the system TV app to start viewing one of your channels, the system calls your session's onPlayChannel() method. Override this method if you need to do any special channel initialization before the program starts playing.

The system then obtains the currently scheduled program and calls your session's onPlayProgram() method, specifying the program information and start time in milliseconds. Use the TvPlayer interface to start playing the program.

Your media player code should implement TvPlayer to handle specific playback events. The TvPlayer class handles features like time-shifting controls without adding complexity to your BaseTvInputService implementation.

In your session's getTvPlayer() method, return your media player that implements TvPlayer. The TV Input Service sample app implements a media player that uses ExoPlayer.

Create a TV input service using the TV input framework

If your TV input service can't use the TIF Companion Library, you need to implement the following components:

  • TvInputService provides long-running and background availability for the TV input
  • TvInputService.Session maintains the TV input state and communicates with the hosting app
  • TvContract describes the channels and programs available to the TV input
  • TvContract.Channels represents information about a TV channel
  • TvContract.Programs describes a TV program with data such as program title and start time
  • TvTrackInfo represents an audio, video, or subtitle track
  • TvContentRating describes a content rating, allows for custom content rating schemes
  • TvInputManager provides an API to the system TV app and manages the interaction with TV inputs and apps

You also need to do the following:

  1. Declare your TV input service in the manifest, as described in Declare your TV input service in the manifest.
  2. Create the service metadata file.
  3. Create and register your channel and program information.
  4. Create your setup activity.

Define your TV input service

Figure 1.TvInputService lifecycle.

For your service, you extend the TvInputService class. A TvInputServiceimplementation is a bound service where the system service is the client that binds to it. The service life cycle methods you need to implement are illustrated in figure 1.

The onCreate() method initializes and starts the HandlerThread which provides a process thread separate from the UI thread to handle system-driven actions. In the following example, the onCreate() method initializes the CaptioningManager and prepares to handle the ACTION_BLOCKED_RATINGS_CHANGED and ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED actions. These actions describe system intents fired when the user changes the parental control settings, and when there is a change on the list of blocked ratings.

KOTLINJAVA

override fun onCreate() {
   
super.onCreate()
    handlerThread
= HandlerThread(javaClass.simpleName).apply {
        start
()
   
}
    dbHandler
= Handler(handlerThread.looper)
    handler
= Handler()
    captioningManager
= getSystemService(Context.CAPTIONING_SERVICE) as CaptioningManager

    setTheme
(android.R.style.Theme_Holo_Light_NoActionBar)

    sessions
= mutableListOf<BaseTvInputSessionImpl>()
   
val intentFilter = IntentFilter().apply {
        addAction
(TvInputManager.ACTION_BLOCKED_RATINGS_CHANGED)
        addAction
(TvInputManager.ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED)
   
}
    registerReceiver
(broadcastReceiver, intentFilter)
}

 

See Control content for more information about working with blocked content and providing parental control. See TvInputManager for more system-driven actions that you may want to handle in your TV input service.

The TvInputService creates a TvInputService.Session that implements Handler.Callback to handle player state changes. With onSetSurface(), the TvInputService.Session sets the Surface with the video content. See Integrate player with surface for more information about working with Surface to render video.

The TvInputService.Session handles the onTune() event when the user selects a channel, and notifies the system TV app for changes in the content and content metadata. These notify() methods are described in Control Contentand Handle track selection further in this training.

Define your setup activity

The system TV app works with the setup activity you define for your TV input. The setup activity is required and must provide at least one channel record for the system database. The system TV app invokes the setup activity when it cannot find a channel for the TV input.

The setup activity describes to the system TV app the channels made available through the TV input, as demonstrated in the next lesson, Create and update channel data.

Additional references

 

https://developer.android.com/training/tv/tif/tvinput.html

 

Develop a TV input service  |  Android Developers

A TV input service represents a media stream source, and lets you present your media content in a linear, broadcast TV fashion as channels and programs. With a TV input service, you can provide parental controls, program guide information, and content rati

developer.android.com

 

+ Recent posts