google analytics


Qnap Ts-212에 TVHeadend 설치하기 #2 EPG 설정 IT

트래픽문제로 wonipapa님이 epg2xml github를 중단해서 이젠 별 의미가 없어진 글이 됨. .ㅠㅠ
epg 설정하는데 참고만 하시길...
--------------------------------------------------------------------------------------------------------------
기본적인 세팅은 다 끝났으니깐 이제 EPG를 적용해 볼 시간이다.

이런저런거 다 찾아봤지만.. 3Jini님의 블로그가 가장 도움이 되었다. 이 글에서라도 감사의 말씀을 전하고 싶다. ㅎㅎ

 epg2xml 설치 및 설정하기
일단 EPG를 긁어올 프로그램이 필요하다. 많이들 사용하고 있는 wonipapa님의 소스를 이용하는데 내 Ts-212에는 파이썬깔고 이러다보면 이상하게 메모리도 부족하고 오류발생... 그래서 파이썬은 포기했다. 그래서 다른 방법을 알아보니 파이썬 대신 사용하는건 PHP! 웹용으로 돌리는게 깔끔한거 같아서 그걸로 선택했고, 여기서 두 가지 갈림길이 생기는데 내 Qnap NAS에서 직접 돌리느냐, 아니면 외부서버에서 돌리느냐의 선택이다. 여기서는 그냥 나스에 직접 돌리는걸 기준으로 설명을 해보려고 한다. (외부서버에서 돌리는건 dothome같은 무료 호스팅 업체에 계정을 만들어서 거기다 올려놓고 돌리면 될듯..)

일단 epg2xml 소스를 받으러 갑시다. 다운로드 링크

접속되면 녹색 Clone or download 버튼을 클릭해서 zip으로 다운 받는다. 적당한 폴더에 압축을 풀어준다.  Qnap기준 /share/HDA_DATA/밑에 Web 폴더에 풀어주면 된다. 나는 epg2xml이라는 폴더를 생성해서 거기다 풀어주었다. 
(경로 /share/HDA_DATA/Web/epg2xml/ )

근데 이건 풀기만 하면 바로 사용할 수 있는 건 아니고 Qnap 설정에서 웹 서버 사용설정을 해주어야 웹으로 접속이 가능하다.
포트번호는 기본이 저거긴 한데.. 해킹시도나 이런것들 생각하면 바꿔서 쓰는것도 나쁘지 않다. 그리고 어차피 혼자 쓸건데 뭔들 어떠리.. 그건 알아서 하면 될듯..

그리고 epg2xml에도 설정이 필요하다.(내 나스에 설치한다고 가정해서 이렇게 설명을 하는데 외부 호스팅을 사용한다면 당연한 말이지만 epg2xml.json을 먼저 편집한 후에 파일을 업로드 해야한다.) 압축푼 파일들 중에 epg2xml.json을 편집해야한다. 다만 일반 메모장 등으로 편집하면 오류가 난다. notepad++ 같은 프로그램으로 수정해야한다. 오류가 나는건 인코딩 때문인데 인코딩을 UTF-8 (BOM 없음) 요걸로 저장을 해줘야 하기 때문..  굳이 notepad++가 아니더라도 저 인코딩을 할 수 있는 텍스트 에디터면 뭐든 가능하다. 

epg2xml.json 파일 편집할 때 신경쓸 옵션은 몇개 없다.
(주석을 읽어보면 잘 설명이 돼 있으므로 찬찬히 읽어보고 필요한 옵션을 설정해 주도록한다)
MyISP - 본인 iptv 통신사를 설정해주면 된다. 나는 kt라 kt로...
MyChannels - 기본이 지상파로만 채널이 설정돼 있는데 EPG가 필요한 채널만 추가해주면 된다. 다 끌어오면 용량이 많아짐.
default_fetch_limit - 1~7까지 설정가능하고 긁어올 기간을 설정하는 듯. 1~2정도가 적당하다. 숫자가 크면 용량도 많아지니깐 시간도 걸림..

요렇게 하면 끝. http://localhost/epg2xml-web.php 로 접속을 하면 일정 시간이 지난 후 아래와 같은 화면이 표시가 되면 정상적으로 설치가 된 것이다.

 TVHeadend의 EPG Grabber 설정하기
참고 블로그 : http://3jini.tistory.com/130
위 블로그를 참고하여 내부 Grabber를 만들어 보자. 소스를 그대로 퍼오는건 문제가 될거 같아서 링크로 대체. wget 이후에 본인의 epg2xml 경로를 입력해주면 된다.

나 같은 경우는 /usr/bin 밑에 tv_grabber_kt라는 파일로 만들어 주었고 그래버 이름은 Olleh Grabber로 입력해 주었다. 생성이 다 완료가 되었으면 TVHeadend를 재시작 해야하는데 나스를 재시작해도 되고 ssh에 접속한 상태라면 tvheadend restart 라고 명령어 입력해주면 재시작이 된다. 그러면 아래와 같은 화면이 나오는데..
Internal XMLTV에 내가 만들어 놓은 그래버만 Enable 설정을 하고 나머지는 다 체크해제를 해 준다.(물론 save로 변경사항 적용을 시켜주어야 한다.) 그 후 Re-run internal EPG Grabbers를 클릭해 주면 일정 시간 후에 EPG Grabber Channels 탭에 EPG내역이 표시될 것이다.
요런 느낌으로 표시가 된다. 이제 EPG가 되는 상황.. Electronic Program Guide 탭으로 가면 정상적으로 작동하는 것을 볼 수 있다. 
crontab 설정하는것도 있던데 일단 기본 설정이 매일 00:04, 12:04에 EPG내용을 업데이트 하게끔 되어 있기 때문에 딱히 건들지 않아도 될듯하다. 아래는 tvhclient 캡쳐본이다.  정상적으로 EPG가 출력되는 것을 볼 수 있다.

끝! 다음 글은 NAS 없이 실시간TV보는 방법을 써볼까 싶음..



덧글

  • 엉클짱 2018/03/06 10:01 # 삭제 답글

    먼저 자세한 설명 감사드립니다.
    마지막까지 잘따라 왔는데 결정적으로 한글이 깨저서 나오는데 어디에서 잘못되었는지 영 모르겠습니다
  • Arrivederci 2018/03/09 14:21 #

    인코딩이나 뭐 그런 문제가 있지 않을까요?
  • azchoi 2018/04/30 14:34 # 삭제 답글

    EPG Grabber Channels 탭에는 EPG내역이 표시 되는데 Electronic Program Guide 탭에는
    아무것도 안나오는 이유가 있을까요?
  • Arrivederci 2018/05/02 11:36 #

    그러면 EPG가 정상적으로 되지 않는거 같은데 흠.. 이야기만 봐서는 정확히 어떤 상황인지 잘 모르겠네요
댓글 입력 영역