日常茶飯事

한동안 서버가 죽어서 제대로 업데이트가 안되는 문제가 있었습니다. T.T


이전에 받으신 분들은 아래파일로 교체해주시기 바랍니다.

epg2xml.py

가장최신 버전은 [여기]  에서 받으시면 됩니다.

[바뀐점]

- 채널로고 지원 (주소가 바뀌어도 알아서 자동으로 올라옵니다.)

- 에피소드 출력안되는 문제 수정.

- 중간에 방송일정이 바뀌는 경우 오류 검증 추가 (서버쪽)

- 기타 오류 수정.


[사용법]

$ ./epg2xml.py -s -i (LG|SK|KT)

ex) epg2xml.py -s -i LG

./epg2xml.py -w -i KT   <- 저장

./epg2xml.py -s -i KT  < - 소켓에 쏘기 인데....   옵션을 잘못알려 드렸더라구요 T.T

 

저장하실때..

 

./epg2xml.py -w [파일경로]  -i [통신사]

=> ./epg2xml.py -w test.xml -i KT  또는 ./epg2xml.py -w -i KT 

 

정보를 올리실때.

./epg2xml.py -s [xmltv.sock 경로] -i [통신사]  입니다.

= > sudo ./epg2xml.py -s /home/hts/.hts/tvheadend/epggrab/xmltv.sock -i LG


정보만 올리실꺼면 -s 옵션만 하시면 됩니다.


직접 XML로 받으실분은 아래 주소를 이용해 주세요. (주소 변경 가능성있음)

전체 : http://epg.neo365.net/XMLTV/ALL 또는 http://epg.neo365.net/downloads/xmltv/epg_all.xml

KT : http://epg.neo365.net/XMLTV/KT 또는 http://epg.neo365.net/downloads/xmltv/epg_kt.xml

LG : http://epg.neo365.net/XMLTV/LG 또는 http://epg.neo365.net/downloads/xmltv/epg_lg.xml

SK : http://epg.neo365.net/XMLTV/SK 또는 http://epg.neo365.net/downloads/xmltv/epg_sk.xml


기타 커스터마이징 방법

[타이틀 형식 바꾸기]

중간에 96라인쯤 보시면 아래와 같은 부분이 있습니다. 이부분들을 조금씩 바꾸시면 됩니다. (#은 주석처리 입니다.)

#prog.append('\t\t<title lang="kr">%s</title>\n' %(stripString(pr_programName)))

#prog.append('\t\t<title lang="kr">%s</title>\n' %(stripString(pr_title)))


prog.append('\t\t<title lang="kr">%s' %(stripString(pr_title)))

if pr_extrainfo:

prog.append('(%s)' %(stripString(pr_extrainfo)))


prog.append('</title>\n')


#prog.append('\t\t<title lang="kr">%s</title>\n' %(stripString(pr_mainTitle)))

#if pr_subTitle:

# prog.append('\t\t<sub-title lang="kr">%s</sub-title>\n' %(stripString(pr_subTitle)))


만약 프로그램 명이 " 특종! 생생정보통 <오늘의 맛집> (237화) (재)(자막) " 이렇게 되어 있다고 할때

아래와 같이 분리되어 나옵니다.


pr_programName = 특종! 생생정보통 <오늘의 맛집> (237화) (재)(자막)

pr_title = 특종! 생생정보통 <오늘의 맛집> (237화) 

pr_mainTitle = 특종! 생생정보통 

pr_subTitle = 오늘의 맛집

pr_extrainfo = 재방송|자막방송


이걸 잘 조합해서 쓰시면됩니다. 대충 주석 풀고 막고만 잘하면 됩니다.  



Comment +30

  • 오금렬 2016.08.08 18:15 신고

    안녕하세요,

    방금 sudo ./epg2xml.py -s -i LG 를 적용해 보았더니 149라인에서 에러가 발생하는 것 같습니다. python2.7버전 사용 중인데, 어떤 방법이 있을까요?

    감사합니다.

  • 한글로 2016.08.08 19:08 신고

    만들어 주신 epg 파일 받아서 잘 사용하고 있습니다. 감사합니다.
    서버에 부담이 많은 것 같아서 직접 만들어 볼까하는데 윗 분과 같은 증상이 있습니다.

    Traceback (most recent call last):
    File "./epg2xml.py", line 149, in <module>
    xmlfp.connect(args.socket)
    File "/usr/lib/python2.7/socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
    socket.error: [Errno 2] No such file or directory

    이 경우엔 어떻게 해야 할까요?
    현재 우분투에 올려서 사용중입니다.

  • 후니아빠 2016.08.10 21:08 신고

    초보가 LG 걸로다가 xml을 직접 받아오는 방식으로 성공해서 덕분에 잘 보고 있습니다만
    크게 불편하진 않지만 로고 불러오기만이 아직 잘 적용이 안됩니다.
    저절로 적용이 되야 되는거 같은데 저는 딱 3개 채널만 받아오네요.
    뭘 좀 건드려 보면 될런지요.

  • 유저 2016.08.12 08:19 신고

    항상 좋은 정보 감사드립니다.

    커스터마이징에서
    특종! 생생정보통 <오늘의 맛집> (237화) (재)(자막)

    타이틀은 특종! 생생정보통 (237화) (재)(자막) 이렇게만 남기고 <오늘의 맛집>은 부제로 가게하게 할 수 있을까요?
    말씀하신 주석을 만졌는데 부제는 잘 나오는데 타이틀은 부제가 분리되지 않고 pr_programName 그대로 나옵니다.

  • 황정원 2016.08.13 12:29 신고

    안녕하세요~
    tvheadend 채널등록을 완료하고 epg 등록을 하는데 아래와 같은 에러가 발생됩니다. 다른곳을 참조해서 http://cafe.naver.com/mk802/16558 해보도 동일하네요!

    덕분에 설치는 완료했는데 여기서 막혀 도움 요청드립니다.^^

    root@raspberrypi:/home# sudo ./epg2xml.py -w -i LG
    Traceback (most recent call last):
    File "./epg2xml.py", line 126, in <module>
    channels = channelList(args.ips)
    File "./epg2xml.py", line 30, in channelList
    j = json.loads(data)
    File "/usr/lib/python2.7/json/__init__.py", line 326, in loads
    return _default_decoder.decode(s)
    File "/usr/lib/python2.7/json/decoder.py", line 365, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
    File "/usr/lib/python2.7/json/decoder.py", line 383, in raw_decode
    raise ValueError("No JSON object could be decoded";)
    ValueError: No JSON object could be decoded

    • 서버연결 에러 난걸로 보이는데요. 집에서 가내수공업으로 돌리다 보니 서버가 가끔 죽습니다. --;

      다시한번 시도 해보세요.

  • 안녕하세요. 잠탱이님 너무 잘 쓰고 있습니다.
    전 LG인데 epg 정보가 어긋나는 부분이 더러 있더라고요. 근데 이상하게도 http://epg.neo365.net 여기에는 현재 방송정보가 정확하게 나오는데 실제 가져온 epg 정보는 제대로 안나오던데 이유가 뭘까요?
    그리고 대교어린이TV는 epg정보를 못가져오던데 제가 뭘 잘못한건지 알수가 없네요. ㅠ.ㅠ.

    • 갱신이 너무 빈번해서 발생하는 문제입니다.
      epg.neo365.net은 가장 최신 정보가 반영됩니다.

      그리고 xml로 다운받지 마시고 epg2xml 로 하시면 사이트와 동일 정보를 가져옵니다.

    • epg2xml로 다시 정보 갱신만 해봐야 겠네요. 항상 감사드립니다.

    • 이름으로 매핑을 한번 해보세요. 안되시는 분들중 수동매핑 하시거나 표준이름으로 Mutex를 사용안하신 분들이 계시더라구요.

  • estevalis 2016.08.17 00:47 신고

    안녕하세요

    - 채널로고 지원 (주소가 바뀌어도 알아서 자동으로 올라옵니다.)

    라고 되어 있는 부분에 대해 궁금한점이 있습니다.

    저는 tvheadend 에서 채널 아이콘에 http://iptv.neo365.net/Resource/104.png 등과 같이 아이콘을 지정해 두었습니다.

    하지만 저 리소스에 접근시 404 not found 가 나오면서 아이콘이 나오지 않는 상태 입니다.

    epg2xml.py를 사용하여도 채널 아이콘이 나오지 않는데요,

    아이콘을 사용하려면 어떻게 해야 할까요?

    • http://epg.neo365.net/Images/Channels/xx.png로 주소가 변경되었습니다.

      Autoepg 사용체크하면 자동 매핑되지 않는지요?

      그럼 매핑을 일일이 손으로 하신경우 인데. 표준 이름으로 매핑하시면 자동으로 올라 옵니다.

    • estevalis 2016.08.17 12:26 신고

      auto epg 에 체크 되어 있어 epg 는 수동 매칭없이 자동으로 읽어 옵니다.

      mux 등록시 m3u file 을 이용하는데요, 여기에는 수동으로 png 파일 경로를 잡아 두었습니다.

      이미 채널이 다 등록된 상태에서 png 파일 경로가 삭제되지 않는군요.

      m3u에서 png 파일 관련을 제거해보고 아이콘이 올라오는지 확인해보겠습니다.

      감사합니다

  • 무한비행 2016.08.18 11:35 신고

    감사합니다,
    일전에 C# 으로 작성하신 것으로 들었습니다만,
    혹시 http://epg.neo365.net/downloads/xmltv/epg_sk.xml 생성하는 코드를 공개해 주시면 안되시는지요?

  • 망구 2016.08.18 11:41 신고

    잘 사용하다가 몇일전부터 epg가 나오질 않습니다.
    직접 XML다운 받아 사용중인데요..
    EPG Grabber Channels 보면 업데이트는 다 되어 있는데 프로그램들이 하나도 나오질 않습니다. ..



    epg2xml파일을 다운받아 해보려 해도 제가 쓰는 QNAP나스 에서는 작동되질 않는거 같네요..
    SUDO명령어가 아예 안먹네요..
    혹시 다른 방법 없을까요? 감사한마음으로 사용하다가 갑자기 안되니 염치불구 하고 여쭤봅니다.

  • Paulyoo 2016.08.18 15:44 신고

    안녕하세요. 많은 도움을 받고 있습니다.
    다만, EPG 내용을 내려 받아 적용시켜보는데, TVheadend에서
    내용이 나오지 않아 xml 파일을 열어보니, 8/16일 방송 내용까지만
    나오네요. 혹시 제가 잘못 한건지, 아님 현재 업데이트가 안된 것인지 궁금합니다.

    • 거북 2016.08.18 17:19 신고

      저도 며칠 전부터 갑자기 적용이 안되네요. 업데이트가 안된 것 같아요.ㅜㅠ

      ps. 구글링하시면 epg를 xml로 생성해주는 exe파일이 있을겁니다. 일단 그걸로 xml 생성하셔서 대체하시면 됩니다.

    • Paulyoo 2016.08.18 21:19 신고

      정말 감사합니다.

    • 현재 xml부분은 파일 생성에 문제가 있는것 같습니다. 지금 작업중입니다.
      오늘 내일쯤 정상 동작합니다.

  • 궁금합니다. 2016.08.21 10:17 신고

    안녕하세요? 덕분에 EPG정보를 잘 셋팅해서 몇일 사용하였습니다만..
    최근 EPG정보를 받아올려고 하다보니 계속 에러가 나네요..

    ./epg2xml.py -w -i SK
    를 실행하면

    Traceback (most recent call last):
    File "./epg2xml.py", line 156, in <module>
    channels = channelList(args.ips)
    File "./epg2xml.py", line 32, in channelList
    channels = j["Channels"]
    KeyError: 'Channels'

    위와 같은 메시지가 나오네요

    이전엔 별 문제 없이 사용이 되었던것 같은데 이상하네요 ㅡㅜ

    혹시 어찌해야 해결이 될까요?

  • 따라쟁이 2017.01.23 02:35 신고

    root@DiskStation:/volume1/pvr# python epg2xml.py -i LG -w ./test.xml
    Traceback (most recent call last):
    File "epg2xml.py", line 156, in <module>
    channels = channelList(args.ips)
    File "epg2xml.py", line 32, in channelList
    channels = j["Channels"]
    KeyError: 'Channels'

    ->요런 에러와..

    root@DiskStation:/volume1/pvr# python epg2xml.py -i LG -s /volume1/@appstore/tvheadend-testing/var/epggrab/xmltv.sock
    Traceback (most recent call last):
    File "epg2xml.py", line 149, in <module>
    xmlfp.connect(args.socket)
    File "/usr/lib/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
    socket.error: [Errno 111] Connection refused
    root@DiskStation:/volume1/pvr#

    ->요런 에러


    요런 에러가 뜨는데 라즈베리파이나, 시놀로지나 동일하게 뜨네요.?