인수 및 변경사항 추가

This commit is contained in:
wonipapa 2016-11-09 18:09:03 +09:00
parent 4793813e10
commit 4d68726fd1

View File

@ -4,51 +4,70 @@
3. 설치방법
4. 설정방법
5. 인수소개
6. 변경사항
7. 개선사항
8. 알려진 버그
1. 소개
이 프로그램은 EPG(Electronic Program Guide)를 웹상의 여러 소스에서 가져와서 XML로 출력하는 프로그램으로 python2에서 사용 가능하도록 제작되었다.
2. 설치전 확인 사항
이 파일을 사용하기 위해서는 몇가지 전제 조건이 있으므로 확인후 설치하도록 한다.
* ALLCh.json 또는 IPTV별 json 파일을 열어보면 아래와 같은 내용으로 KTCh, SKCh, LGCh 항목을 확인할 수 있다.
이 항목은 IPTV별 채널 번호로 tvheadend에 설정되어 있는 채널번호와 일치해야 한다.
{"Id":1,"KTCh":163,"SKCh":215,"LGCh":null,"Name":"9colors","Source":"SK","ServiceId":285}
* 파일을 실행하기 위해서는 별도의 python 모듈이 필요할 수 있으므로 설치가 필요할 수 있다.
BeautifulSoup, lxml 모듈이이 추가로 필요하다. 설치가 되어 있지 않으면 설치한다.
설치 OS별로 설치 방법이 다를 수도 있다. synology의 경우 easy_install lxml 이다
3. 설치방법
2.1 파일을 압축해제
2.2 epg2xml.py의 # Set My Configuration 안의 부분을 4. 설정방법에 따라서 설정한다.
2.3 설정이 끝나면 tvheadend의 서버의 적당한 곳에 파일을 올려놓는다.
2.4 단독으로 실행가능하게 하려면 chmod +x epg2xml.py 명령어를 사용한다.
2.5 tv_grab_file 사용시
파일 압축 해제후 원하는 경로에 넣는다.
3.1 tv_grab_file 사용시
tv_grab_file 안의 cat xmltv.xml 또는 wget 부분을
/파이썬설치경로/python /epg2xml.py 경로/epg2xml.py -d 또는
/epg2xml.py 경로/epg2xml.py -d
2.6 XMLTV 사용시
/파이썬설치경로/python /epg2xml.py 경로/epg2xml.py -s xmltv.sock경로 또는
/epg2xml.py 경로/epg2xml.py -s xmltv.sock 경로
4. 설정방법에 defaul_xml_socket에 xmltv.sock의 경로를 설정하였다면
/파이썬설치경로/python /epg2xml.py 경로/epg2xml.py -s 또는
/epg2xml.py 경로/epg2xml.py -s
/파이썬설치경로/python /epg2xml.py 경로/epg2xml.py -i KT(SK, LG) -d 또는
/epg2xml.py 경로/epg2xml.py -i KG(SK, LG) -d
3.2 XMLTV 사용시
/파이썬설치경로/python /epg2xml.py 경로/epg2xml.py -i KT(SK, LG) -s xmltv.sock경로 또는
/epg2xml.py 경로/epg2xml.py -i KT(SK, LG) -s xmltv.sock 경로
XMLTV 사용시에는 크론에 실행할 시간을 등록해야 한다.
4. 설정방법
# Set My Configuratoin 안의 항목이 설정 가능한 항목이다.
MyISP : 사용하고 있는 IPTV 선택한다. KT, LG, SK 로 설정 가능하다.
userid : tvheadend의 admin 아이디
userpw : tvheadend의 admin 비밀번호
host : tvheadend의 내부 아이피
port : thveadend의 포트 번호
ChDelimiter : HD 채널과 SD 채널과의 구분자 ex) -SD
offset : SD 채널을 사용할 시 HD 채널과의 번호차 ex) 500
icorurl : 채널별 아이콘이 있는 url을 설정할 수 있다. 아이콘의 이름은 json 파일에 있는 Id.png로 기본설정되어 있다.
# Set My Configuratoin 안의 항목이 설정 가능한 항목이다. 인수로 처리하지 않고 이 부분을 수정해서 사용할 수도 있다.
그러나 이 부분을 직접 수정하는 것보다는 향후 업그레이드시 변경될 수 있으므로 인수로 처리하기를 권한다.
default_icon_url : 채널별 아이콘이 있는 url을 설정할 수 있다. 아이콘의 이름은 json 파일에 있는 Id.png로 기본설정되어 있다.
default_fetch_limit : EPG 데이터 가져오는 기간이다.
default_xml_filename : EPG 저장시 기본 저장 이름으로 tvheadend 서버가 쓰기가 가능한 경로로 설정해야 한다.
default_xml_socket : External XMLTV 사용시 xmltv.sock가 있는 경로로 설정해준다.
Channel.json 파일을 텍스트 편집기로 열어보면 각채널별 정보가 들어 있다.
이중 Enabled:1로 되어 있는 부분을 Enabled:0으로 바꾸면 EPG정보를 가져오지 않는다.
필요없는 채널정보를 가져오지 않게 하는 것으로 EPG 정보 수집시 시간을 단축할 수 있다.
5. 인수소개
실행시 사용가능한 인수는 현재 총 4가지가 있으며 --help 명령어로 4가지 인수를 볼 수 있다.
실행시 사용가능한 인수는 --help 명령어로 확인이 가능하다
-h --help : 도움말 출력
--version : 버전을 보여준다.
-i : IPTV 선택 (KT, SK, LG 선택가능) ex) -i KT
-d --display : EPG 정보를 화면으로 보여준다.
-o --outfile : EPG 정보를 파일로 저장한다. ex) -o xmltv.xml
-s --socket : EPG 정보를 xmltv.sock로 전송한다. ex) -s /var/run/xmltv.sock
-l --limit : EPG 정보 가져올 기간으로 기본값은 2일이며 최대 7일까지 설정 가능하다. ex) -l 2
--icon : 채널 icon 위치 URL ex) --icon http://www.example.com
6. 변경사항
- ISP별 분리된 채널통합
- 개별 채널별 EPG 정보 수집가능하도록 Enabled 추가
- getMyChannel 함수 삭제
- 채널명 변경
- LG Discovery HD 채널 추가
- SK 드라마H, CMC가족오락TV, Celestial Movies, UXN,UHD Dream TV,UMAX,ASiA UHD 채널 추가
- KT TRU TV 채널 삭제
- ISP 선택 설정 추가
- EPG 정보 가져오는 기간 설정 추가
- 채널 아이콘 설정 URL 설정 추가
- tvheadend 전용 카테고리 추가
7. 개선사항
- 코드 최적화
- 속도 개선
- 출연, 제작진 개인별로 분리
- 서브타이틀 추가
- 등급 아이콘 추가
- 채널 json 편집기 추가
8. 알려진 버그
- KT, LG를 소스로 하는 채널의 EPG정보는 가져오는 기간의 제일 마지막 방송정보를 표지하지 않음