Tvheadend EPG 적용하기.
2016.12.31 00:12
Tvheadend EPG 적용하기.
광고 차단 플러그인을 꺼 주시면 블로그 운영에 도움이 됩니다. ^^

이 글은 작성된지 오래되어 도움이 안되고 설정이 복잡합니다.

 

무료호스팅을 이용한 설정이 가능한 방법이 있답니다. 무료호스팅 사용이 가능하시다면 참고해 보세요.

 

이동하기 :

무료 호스팅을 이용한 Tvh EPG설정, 불러오기.

 

Tvheadend를 이용해 IPTV를 시청한다면 필히 하는 작업이 EPG적용입니다.

 

전 Tvheadend EPG적용하는 방법을 몇일동안 헤매다 겨우 설정을 성공했고 복습차원에서 다시 설정을 하면서 이 글을 작성해 둡니다.

 

EPG적용방법은 http://3jini.tistory.com/68 글을 참고했으며 진행과정에서 글과는 살짝 다른 부분들이 있어 내 환경에 맞게 글 작성을 해 둡니다.

 

EPG적용을 하기전에 Tvheadend에 채널등록이 되어 있어야 합니다.

 

 

 

Tvheadend EPG 적용하기.

 

epg2xml파일 업데이트가 많이되어 이 글대로 하셔도 에러가 나고 안됩니다. ( epg2xml-1.0.8.zip 파일로 진행 했을 EPG가 불러오는지 확인 불가.!!)

 

전 EPG불러오는 시스템을 완전히 다르게 설정해서 사용하기에 이 글에 질문이 올라와도 충분한 답을 못드리게 되었습니다.

 

제가 새롭게 사용하는 방법은 '클리앙 아기양'님께서 올리신 정보를 가지고 무료 웹 호스팅서버에 직접 만들어서 불러서 사용하고 있습니다.

 

새롭게 EPG를 적용하신다면 https://www.clien.net/service/board/cm_nas/10797458 글 참고해 보심이 좋을듯 합니다.

 

이런저런 설정없이 명령어 몇개로 간단하게 EPG적용이 가능하고 자신이 직접 무료 호스팅 서버에 파일을 올려두고 사용도 가능합니다.

 

EPG적용을 위해 외부 프로그램이 필요한데 'epg2xml'이 필요합니다. 이 파일은 클리앙 'wonipapa'님께서 올려주신 'epg2xml 1.0.8'파일을 다운받아 사용하시면 됩니다.

 

epg2xml 1.0.8다운로드: epg2xml-1.0.8.zip

홈 페이지 링크:  https://github.com/wonipapa/epg2xml

 

첨부한 epg2xml 1.0.8을 다운로드 하셔서 압축을 풀어 주세요. 파일 압축을 풀어보면 3개의 파일이 나오는데 Channel.json, epg2xml.py파일을 NAS에 올려주시면 됩니다.

 

'WinSCP'를 실행하세요.(참고 글: WinSCP 다운로드, 헤놀로지(XPEnology) 접속 방법. - DSM 5.x 버전)

 

 WinSCP를 이용해서 자신의 나스에 접속을 해서 'volume1'로 이동하세요.

 

volume1 안에서 빈공간에 마우스 우클릭 -> 새로 만들기 -> 디렉터리를 선택 하세요.

 

'pvr'을 입력하고 '확인'을 클릭 하세요.(Tvheadend에 채널 등록하기. 에서 pvr폴더를 만드셨다면 그냥 사용하세요.)

 

파일을 올려두고 NAS화면으로 이동하셔서 '패키지 센터'를 열어 주세요.

 

'Python3, Python Module'를 설치해 주세요. 패키지 센터가 열리면 'Python'검색을 하셔도 되고 왼쪽 '모두'를 클릭해서 나오는 항목에서 직접 설치하셔도 됩니다.

 

Python 설치가 되었다면 WinSCP화면으로 이동하세요. WinSCP를 닫았다면 다시 실행하시면 됩니다.

 

WinSCP를 실행해서 단축키 'Ctrl+T'또는 상단 '터미널 열기'아이콘을 클릭 하세요.

 

터미널 창이 열리면 명령어 입력 칸에 명령어를 넣고 '실행'을 클릭하면 입력한 명령어를 실행 합니다.

 

저는 리눅스 운영체제(NAS)의 사용이 처음이기에 모든 과정을 이미지로 남겨둡니다.(나중에 할때 안헷갈리게....)

 

'easy_install beautifulsoup'을 입력하고 엔터를 클릭 합니다.

 

'easy_install lxml'을 입력하고 엔터를 클릭 합니다.

 

'wget https://bootstrap.pypa.io/get-pip.py'을 입력하고 '실행'을 클릭하면 위 화면같이 에러창이 뜨는데 '확인'을 클릭하고 닫아주세요.

 

위 에러때문에 안되는줄알고 엄청난 고생을 했는데 상관없었답니다.

 

'python get-pip.py'을 입력하고 엔터를 클릭 하세요.

 

'pip install BeautifulSoup4'를 입력하고 엔터를 클릭 하세요.

 

'pip install lxml'를 입력하고 엔터를 클릭 하세요.

 

이 글을 시작할때 'epg2xml 1.0.8'파일을 다운로드해서 압축을 풀어 volume1/pvr폴더에 올려둔 파일들을 실행 권한을 주어야 합니다.

 

명령어 입력창에 아래순서대로 입력 하세요.

 

1. cd /volume1/pvr 엔터.
2. chmod -x epg2xml.py 엔터.
3. chmod 755 Channel.json 엔터.

 

/volume1/pvr로 경로이동을 해서 2,3번 파일에 실행권한을 주었습니다.

 

위 과정까지 하면 EPG를 자신의 Tvheadend에 받아올수 있게 준비는 끝났습니다. 이제 EPG를 받아 보겠습니다.

 

NAS에 Tvheadend EPG정보 불러오기.

 

명령어 입력칸에 '/usr/bin/python /volume1/pvr/epg2xml.py -i SK -s /volume1/@appstore/tvheadend-testing/var/epggrab/xmltv.sock'를 입력하고 엔터를 눌러주세요.

 

/usr/bin/python /volume1/pvr/epg2xml.py -i SK -s /volume1/@appstore/tvheadend-testing/var/epggrab/xmltv.sock

명령어중 SK는 자신이 시청하는 IPTV브랜드를 입력하시면 됩니다.(KT, LG)

 

 

명령어를 입력했는데 위 오류창이 뜬다면 당황하지 마시고 나스에 설치된 'Tvheadend'화면으로 접속하세요.

 

Configuration -> Channel / EPG -> EPG Grabber Modules항목으로 이동해서 왼쪽에 나오는 목록중 'Extemal: XMLTV'를 선택하고 오른쪽 화면에서 체크 박스에 체크를 하고 'Save'를 클릭 하세요.

 

다시 WinSCP 터미널화면에서 /usr/bin/python /volume1/pvr/epg2xml.py -i SK -s /volume1/@appstore/tvheadend-testing/var/epggrab/xmltv.sock를 입력하시면 됩니다.

명령어중 SK는 자신이 시청하는 IPTV브랜드를 입력하시면 됩니다.(KT, LG)

 

EPG정보를 받아오는데 상당한 시간이 걸려 위 화면이 무조건 뜨는데 그냥 두시면 됩니다. 위 창이 사라지면 정보 받기가 끝난겁니다. (이런식으로 몇번을 작업해도 문제는 없었습니다.)

 

이제 EPG정보를 제대로 불러온다는것을 확인했으니 Tvheadend에 적용을 위해 소스를 수정해서 정리를 해 보겠습니다.

 

/volume1/pvr 폴더에 들어있는 'epg2xml.py'파일을 텍스트편집기를 이용해서 열어 주세요. (우클릭 ->편집 ->Notepad)

 

편집기로 열어 24번째 줄, 26번째 줄을 아래처럼 수정하시면 됩니다.

 

26번줄 경로를 ' /volume1/@appstore/tvheadend-testing/var/epggrab/xmltv.sock '로 바꿔주면 다음부터 EPG데이터 생성시 짧은 주소 사용이 가능합니다.

 

위처럼 수정했다면 저장후 터미널창에 '/usr/bin/python /volume1/pvr/epg2xml.py -i SK -s'를 입력하고 엔터를 눌러주세요. 명령어중 SK는 자신이 시청하는 IPTV브랜드를 입력하시면 됩니다.(KT, LG)

 

호스트가 15초 이상.... 창이 사라질때까지 그냥두시면 됩니다. 다른 에러메세지가 없다면 정상적으로 줄인 줄소를 인식하는거랍니다.

 

이제 나스에서 EPG데이터를 자동으로 갱신할수있게 '작업스케줄러'에 등록만 하면 됩니다.

 

 

제어판 -> 작업스케줄러를 열어서 '생성 -> 사용자 정의 스크립트'를 선택 하세요.

 

일반 탭 작업항목에 적절한 이름을 적어주시고 '사용자 정의 스크립트'에 아래 코드를 넣어 주세요.

 

python /volume1/pvr/epg2xml.py -i SK -s

명령어중 SK는 자신이 시청하는 IPTV브랜드를 입력하시면 됩니다.(KT, LG) 

 

스케줄 항목은 매일로 두시면 됩니다. 확인을 클릭하시면 마무리 됩니다.

 

이제 Tvheadend에 접속을 하면 위 이미지처럼 EPG데이터가 불러져 있는것을 확인할수 있습니다. 만약 위 화면이 안나온다면 나스를 재부팅해서 확인하시면 됩니다.

 

저는 재부팅해야 위 목록이 보이고 Kodi에서도 제대로 보여지더군요.

 

Kodi에서 EPG데이터를 이용한 편성표를 보는 화면 입니다.

 

Tvheadend EPG 설정시 알아두면 좋은 정보.

 

NAS에 Tvheadend EPG정보 불러오기. 항목에서 사용되는 경로가 다를수 있습니다.

 

/usr/bin/python /volume1/pvr/epg2xml.py -i SK -s /volume1/@appstore/tvheadend-testing/var/epggrab/xmltv.sock

 

위 경로중 tvheadend-testing설치된 버전에 따라 이름이 다를수 있습니다. 경로 확인은 Configuration -> Channel / EPG -> EPG Grabber Modules항목에서 확인이 가능합니다.

 

Path 란의 주소가 정확한 경로이니 참고 하세요.

 

-ash: 경로: not found라는 오류메세지는 경로명이 잘못되면 나오는 메세지 입니다.

 

경로가 정확하다면 시작하는 부분에 /를 넣거나 빼서 실행하시면 오류가 안납니다.

 

제가 EPG설정을 하면서 헤메던 부분들을 좀더 쉽게 정리해 봤습니다.

 

글 시작하면서 언급했지만 EPG설정은 http://3jini.tistory.com/68글을 참고했는데 정말 잘 쓰신 글 입니다. 많은 분들께서도 이 글을 참고해서 EPG설정에 성공하셨다는 글도 많습니다.(클리앙 게시판)

 

다만 사용자마다 나스환경이 다르다보니 발생하는 문제도 조금씩은 다른데 제 경우 이런쪽이 완전 초보여서 진심 힘들었네요. ^^

 

처음에 -ash: 경로: not found라는 오류를 만나서 포기하고 ... 그러다 다시 도전하고.... 일주일 넘게 EPG설정에 메달려 있었네요.

 

지금은 http://3jini.tistory.com/68글 덕분에 아주 잘 사용하고 있습니다. 이 글로나마 HappyChild님께 감사 드립니다.

 

이 글은 작성된지 오래되어 도움이 안되고 설정이 복잡합니다.

 

무료호스팅을 이용한 설정이 가능한 방법이 있답니다. 무료호스팅 사용이 가능하시다면 참고해 보세요.

 

이동하기 :

무료 호스팅을 이용한 Tvh EPG설정, 불러오기.

, , , , , , , , , , , , , , ,