Tvheadend EPG 설정하기. - Xpenology 6.0.2(헤놀로지 6.0.2)

광고 차단 플러그인을 꺼 주시면 블로그 운영에 도움이 됩니다. ^^

NAS를 사용한다면 Tvheadend를 이용한 TV시청은 개인용 NAS의 꼭 필요한 기능이라 볼수 있습니다.

 

저역시 구형 노트북을 이용해서 Xpenology 6.0.2(헤놀로지 6.0.2)설치를 하고 개인용 NAS로 이용하는데 DSM 6.0.2를 설치하고 제일먼저 Tvheadend를 설치, 설정했습니다.

 

Tvheadend이용을 위해 여러가지 작업들이 필요하지만 제일 까다로운 EPG설정방법을 알아 보겠습니다.

 

DSM 6.0.2 Tvheadend EPG 설정하기.

EPG 설정을 위해 사용하는 프로그램은 'WinSCP'프로그램 입니다. DSM 6.x버전에서 root권한 얻는 방법이 따로 있으니 아래 링크 글을 참고 하셔서 설정을 하고 이 글을 진행 하시면 됩니다.

 

 

EPG를 설정하기위해서는 'epg2xml'라는 외부 프로그램이 필요한데 아래 링크에서 다운로드 하시면 됩니다.

 

 

위 링크를 접속하셔서 파일을 다운로드하거나 첨부파일을 다운로드해서 압축을 풀어 주세요.

 

이제 'WinSCP'프로그램을 실행 시켜 로그인을 해 주세요.

 

/volume1로 이동하셔서 빈 공간에 마우스 우클릭을 하면 메뉴가 뜹니다. '새로 만들기 -> 디렉터리'를 선택 하세요.

 

폴더 생성창이뜨면 'pvr'을 입력하고 '확인'을 클릭 하세요.

 

'pvr'폴더로 이동하셔서 압축을 풀어둔 'epg2xml'파일중 'epg2xml.py, Channel.json'두개의 파일을 업로드 하시면 됩니다.

 

이제 NAS 화면으로 이동하셔서 '패키지 센터'를 열어 주세요.

 

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

 

'Python Module'를 하셨다면 'WinSCP'화면으로 이동하세요.

 

'WinSCP'화면에서 'Ctrl + T'또는 상단 툴바에서 아이콘을 클릭하시면 위 창이 뜹니다. 명령어 입력 칸에 명령어를 넣고 '실행'을 클릭하면 입력한 명령어를 실행 합니다.

'easy_install beautifulsoup' 입력 후 엔터(실행).

 

'easy_install lxml' 입력 후 엔터(실행).

 

'wget https://bootstrap.pypa.io/get-pip.py '입력 후 엔터(실행). 위 화면처럼 오류창이 뜨지만 무시하시고 진행 하시면 됩니다.

 

'python get-pip.py' 입력 후 엔터(실행).

 

 

'pip install BeautifulSoup4' 입력 후 엔터(실행).

 

'pip install lxml' 입력 후 엔터(실행).

 

이제 volume1/pvr폴더에 올려둔 파일들을 실행 권한을 주면 됩니다. 아래 순서대로 명령어를 입력 해 주세요.

 

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

 

위 작업까지 마무리되면 EPG데이터를 불러올 준비 과정은 끝났습니다. 이제 Tvheadend에 EPG정보를 받아오는지 확인하고 매일 지정한 시간에 정보를 갱신하게 만들어 주면 됩니다.

 

DSM 6.x에 Tvheadend EPG정보 불러오기.

NAS화면으로 이동해서 'Tvheadend'를 실행 하세요.

 

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

 

그리고 'Path'란에 적혀 있는 주소를 마우스로 드래그 해서 복사해서 메모장에 옮겨 두세요.

 

'WinSCP' 명령어 입력칸에 '/usr/bin/python /volume1/pvr/epg2xml.py -i SK -s 복사한 주소'를 넣고 엔터(실행).

 

*SK 는 사용하시는 IPTV 브랜드명을 입력 하시면 됩니다. (KT, LG

 

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

저는 IPTV회사가 SK이기에 SK를 입력 했습니다.

 

호스트가 15초...어쩌구 저쩌구는 창이 사라질때까지 그냥 두시면 됩니다. 작업시간이 길어지면 뜨는 창인데 작업이 마무리되면 자동으로 사라집니다.

 

위 창이 자동으로 사라지면 EPG정보 받기가 잘 된것이니 다음 작업을 진행 하겠습니다. 'WinSCP' 명령어 입력창을 닫고 '/volume1/pvr'폴더로 이동 하세요.

 

업로드 해둔 'epg2xml.py'파일에 마우스 커서를 두고 우클릭해서 나오는 메뉴중 '편집 -> 내부 편집기'를 선택 하세요.

 

파일이 열리면 default_xml_socket =줄에 'xmltv.sock'을 Tvheadend프로그램 Configuration -> Channel / EPG -> EPG Grabber Modules항목에서 복사한 주소로 변경해 주시면 됩니다. 그리고 저장하세요.

 

이제 'WinSCP'화면에서 'Ctrl + T'를 눌러 콘솔창을 열어 '/usr/bin/python /volume1/pvr/epg2xml.py -i SK -s'를 입력해 보세요.(IPTV브랜드에 따라 SK는 LG또는 KT로 변경.)

 

짧은 주소 입력을 했을때 아무런 에러없이 작업이 끝나야 합니다. 잘되는것을 확인했다면 NAS에서 EPG데이터를 자동으로 갱신할수있게 '작업스케줄러'에 등록만 해 주면 됩니다.

 

 

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

 

작업설정 항목 '사용자 정의 스크립트'에 python /volume1/pvr/epg2xml.py -i SK -s를 입력하고 '확인'을 클릭 하시면 됩니다.(IPTV브랜드에 따라 SK는 LG또는 KT로 변경.)

 

일반 탭에서 스크립트 이름, 스케줄에서 실행 주기를 설정할수 있는데 기본값으로 두셔도 상관없습니다.

 

이제 NAS를 재부팅하셔서 kodi등을 이용해서 IPTV를 시청해 보시면 채널정보를 잘 불러오는것을 확인하실수 있습니다.

 

신고
  • zoomind 2017.01.21 12:44 신고

    안녕하세요. EPG정보 덕분에 잘 따라하고 있는데
    호스트가 15초 이상 답변을 하지 않습니다 에서 60초 이상이 넘어가며
    '사용자가 종료하였습니다' 라고 뜨며 더이상진행이 되지 않습니다
    혹시나 그 다음 부분을 진행해봐도 되질 않고요 무엇이 문제일까요?ㅠㅠ

    • 가온누리™ 2017.01.21 13:36 신고

      사용자 환경마다 다르니 그런 문제가 발생하네요.

      putty.exe프로그램을 이용하셔서 위 명령을 입력해 보세요.

      putty.exe는 도스창처럼 생겨 나스에 등록된 아이디, 비번으로 로그인해서 명령어를 붙혀넣기 하시면 됩니다.

      프로그램은 http://hobby.tw/411글 처음쯤에 있습니다.

  • 감사합니다. 2017.03.08 00:59 신고

    친절하게 설명해주신 덕분에 완료하였습니다.
    다만, m3a파일변경한다고 기존 채널들을 다 지우고 다시 m3u파일에 있는 주소들의 채널을 불러오니 몇 개 채널들만 epg정보를 가지고 오네요.

    혹시 어떤부분이 잘 못되었을까요?

    • 가온누리™ 2017.03.08 01:27 신고

      채널 정보를 불러오는데 시간(약 12시간이상)이 걸릴때도 있습니다.

      그러나 계속 못불러온다면 EPG정보도 삭제하고 다시 불러보세요.

  • 질문있어요 2017.03.31 02:18 신고

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

    이부분에서 명령어를 넣으면 에러가 뜨네요..ㅠㅠ
    Traceback (most recent call last):
    File "/volume1/pvr/epg2xml.py", line 529, in <module> sock.connect(args.socket)
    File "/usr/lib/python2.7/socket.py", line 228, in meth return getattr(self._sock,name)(*args)
    socket.error: [Errno 13] Permission denied.

    • 가온누리™ 2017.04.01 15:33 신고

      몇시간이라니 ...
      잠깐 입니다. 길어야 60초 정도였던더 같네요.

      뭔가 문제가 있는건지 걱정이 되네요.

      오래걸린다면 PuTTY프로그램을 이용해 보세요.

  • 가온누리™ 2017.03.31 09:40 신고

    /python /volume1/pvr/epg2xml.py -i KT -s 로 해 보세요.

    • 질문있어요 2017.03.31 17:20 신고

      해결했습니다.
      /usr/bin/python /volume1/pvr/epg2xml.py -i KT -s
      /volume1/@appstore/tvheadend-testing/var/epggrab/xmltv.sock

      입력했을 때 호스트가 15초 이상 응답하지 않습니다. 대기중...

      메세지 창이 몇시간 떠 있는데 정상적인건가요??ㅠㅠ

  • 대경 2017.05.19 01:01 신고

    easy_install beautifulsoup

    입력하니 다운로드 경로가 틀리다고 나오는데.....
    일단 BeautifulSoup-3.2.1.tar.gz
    파일은 찾아서 다운했는데..
    설치를 못하겠네요...
    어떻게 해야되지요 ㅜㅜ

    • 가온누리™ 2017.05.20 00:56 신고

      글쎄요.
      다양한 문제가 있을수 있어서 저두 잘 모르겠습니다. -.-

      http://www.2cpu.co.kr/nas등 좀더 전문적인 사이트에서 정보를 얻어 보세요.

      도움을 못드려 죄송합니다.

  • 양승환 2017.11.15 18:54 신고

    호스트 15초는 파일을 직접 올려주신 파일로 바꾸니까 제대로 되네요. 15초는 안 뜨지만 모래시계로 10초 정도 멈췄다가 다시 돌아옵니다.
    그 이후로도 말씀해주신대로 다 설정했는데, 이게 tvheadend-configuration-EPG Grabber Channels에는 엄청 많이 뜹니다. 근데 electronic program guide에는 채널이 하나도 안 뜨네요.... 채널이 200개가 넘게 뜨는데, kbs mbc 아리랑 tv 뭐 이런 정보까지 싹 다 뜨는데, tvheadend 첫 화면에서 안 뜨고, kodi에서도 설정이 안되네요 ㅠㅠ
    아 이거 어떻게 해야 될까요 ㅠ

    • 가온누리™ 2017.11.16 07:45 신고

      안녕하세요.
      파일이 업데이트되면서 설치(수정하는 파일내용이 변경)내용이 바뀐 부분이 많습니다.

      제작자님 도움말을 참고하셔서 설치를 해 보세요.

      https://github.com/wonipapa/epg2xml