본문 바로가기

Synology/TVHeadEnd

TVHeadEnd - 4) TVHeadEnd EPG 설정

EPG가 업데이트 되었습니다. 새로운 강좌를 올릴 계획입니다..




이번 강좌에서는 Synology DS216J (DSM6) 에서 TVHeadEnd EPG를 설정해봅시다.


(개인적으로 이 부분이 가장 어려웠던(?) 부분이었습니다.)


강좌의 상당 부분이 #블로그와 비슷하나 그대로 적용하면 DSM6에서 맞지 않는 부분이 있어 새로 작성했습니다.




일단 Clien의 wonipapa님이 만든 epg2xml 1.0.8 버전을 받아줍니다. #링크


클리앙에 로그인을 해야 받아집니다. 계정이 없으면 구글에다가 epg2xml 1.0.8을 검색해 다운받습니다.




먼저, EPG를 실행할 준비를 해봅시다.


패키지 센터 - 모두에서 Python Module하고 Python 3를 설치합니다.




그 다음 제어판 - 터미널 및 SNMP에 들어가서 SSH 서비스 활성화를 합니다.




putty.exe


그 다음, Putty 파일을 다운받은 뒤, 실행을 합니다.


Host Name에 시놀로지 IP주소를 입력하고 Open을 클릭합니다.





Login as : 라고 뜨면 시놀로지 관리자 아이디 입력, Password에는 비밀번호 입력 후 엔터를 누릅니다.


로그인이 되었다면,

sudo -i


를 입력합니다. (Password 뜨면 똑같이 비밀번호 입력)




루트 계정에 정상적으로 로그인했다면 아래 커맨드를 그대로 입력합니다.


easy_install beautifulsoup


easy_install lxml


wget https://bootstrap.pypa.io/get-pip.py


python get-pip.py


pip install BeautifulSoup4


pip install lxml



그대로 복사-붙여넣기 하면 별 오류 없이 설치가 될 것입니다.




다시 시놀로지 관리자 페이지로 접속해서 공유폴더 'pvr'를 만들어줍시다. (마음대로 정하셔도 됩니다.)



이 폴더에다가 epg2xml.py, Channel.json 파일을 다 넣어줍니다.





위의 파일들이 volume1에 있고, L사 TV를 쓴다고 가정하고,


이제 xmltv.sock를 사용해봅시다.


다시 Putty로 돌아와서 명령어를 입력합니다.


cd /volume1/pvr


chmod -x epg2xml.py


chomd 755 channel.json


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


마지막줄의 LG는 자신의 총신사에 맞게 하시면 됩니다. (SK는 SK, KT는 KT)




만약, 마지막 명령어를 입력했을 때 오류가 난다,


웹 TVHeadEnd 설정 페이지로 가서


Contfiguration -> Channel / EPG -> EPG Grabber Modules 항목으로 가서


External: XMLTV 항목에서 Enabled에 체크를 하고 Save를 누릅니다.




정상적으로 받아오는 것을 확인했다면, epg2xml.py 파일을 수정합니다. (Notepad++로 열기)



default_fetch_limit = 5 로 변경


default_xml_socket = '/volume1/@appstore/tvheadend-testing/var/epggrab/xmltv.sock' 로 변경


모두 변경한 뒤 다시 Putty로 돌아와서


usr/bin/python /volume1/pvr/epg2xml.py -i LG -s


를 입력해서 제대로 되는지 확인합니다.




확인했으면, 작업 스케줄러에 등록을 합니다.


작업 스케줄러 -> 생성 -> 예약된 작업 -> 사용자 정의 스크립트


일반 탭에서 작업 부분에 원하는 이름 입력 (예 : epg2xml)


작업 설정 탭에서 아래의 커맨드 입력 :


usr/bin/python /volume1/pvr/epg2xml.py -i LG -s


확인을 누르면 마무리됩니다.




Kodi나 TVHClient 같은 프로그램에서 EPG가 정상적으로 불러져 왔는지 확인하세요.




  • 김용성 2017.08.06 23:02 댓글주소 수정/삭제 댓글쓰기

    위 방법대로 진행을 했는데 epg grabber channls에 지상파만 나옵니다. 어느 부분을 체크해봐야 할 까요?

    • 위 강좌가 좀 오래되기도 하고... EPG2XML도 파이썬 버전으로 새로 나왔습니다.
      아마 그거와 관련이 있지 않을까 싶습니다.
      도움을 못 드려서 죄송합니다...ㅜㅜ

  • 임유진 2017.08.25 14:53 댓글주소 수정/삭제 댓글쓰기

    안녕하세요 epg 떄문에 여기 저기 시도 중인데
    putty에서 sudo -i 입력하면

    MY_NAS> sudo -i
    -ash: sudo: not found

    이런 메세지가 뜨면서 다른 명령어도 전혀 안먹는데 돌아버리겠네요
    winscp 로는 접속에서 파일 수정 같은건 잘되는데 명령어가 하나도 안먹네요

    • https://www.synology.com/ko-kr/knowledgebase/DSM/tutorial/General/How_to_login_to_DSM_with_root_permission_via_SSH_Telnet

      시놀로지 공식 홈페이지에서는 sudo -I 명령어가 맞습니다.
      제대로 입력한 게 맞는지 확인 부탁드립니다.
      DSM 버전도 같이 첨부해 주셔야 문제 파악이 가능합니다...

  • 배병관 2018.02.04 13:58 댓글주소 수정/삭제 댓글쓰기

    synology nas에 tvheadend를 설치해서 설정 작업을 하는데 '/usr/bin/python /volume1/pvr/epg2xml.py -i SK -s /volume1/@appstore/tvheadend-testing/var/epggrab/xmltv.sock ' 라고 실행시키면
    'Error : xmltv.sock 파일을 찾을 수 없습니다.' 라는 메시지가 나옵니다. 저 sock경로는 실제 존재하는 경로인데도... 못찾는다고 하네요.. 혹시 권한이나 그런 부분을 해야 되는건가요..?? 아시는 부분 있으시면 알려주셨으면 합니다. ㅠ

    • 오래된 글이라 잘은 기억 안나지만...
      시놀로지 공유 폴더 부분에서 권한 설정하는 탭이 있습니다.
      시스템 권한 설정 눌러보면 admin, http 등이 나오는 걸로 알고 있습니다.
      그 부분에서 한번 시도를 해 보시고... (읽기 쓰기 권한 하나씩 주면서 시도해보세요.)
      다른 방법으로는 관리자권한으로 실행하는 방법이 있습니다.
      sudo -i 를 입력하면 관리자모드가 됩니다. 그때도 실행 안되면 파일이 없는건데... 정확하게는 저도 잘 모르겠습니다.