수백 개의 소스에서 수천 개의 TV 채널에 대한 EPG (Electronic Program Guide)를 다운로드하기위한 도구.
먼저 컴퓨터에 node.js를 설치해야합니다. 다음 지침을 따르려면 GIT를 설치해야합니다.
그 후 콘솔 (또는 MacOS가있는 경우 터미널)을 열고 다음 명령을 입력하십시오.
git clone --depth 1 -b master https://github.com/iptv-org/epg.git
그런 다음 다운로드 된 epg
폴더로 이동하십시오.
cd epg
모든 종속성을 설치합니다.
npm install
가이드 다운로드를 시작하려면 지원되는 사이트 중 하나를 선택하고 아래 명령에 이름을 붙여 넣으십시오.
npm run grab -- --site=example.com
다운로드가 완료되면 안내서는 guide.xml
파일에 저장됩니다.
Usage: npm run grab -- [options]
Options:
-s, --site < name > Name of the site to parse
-c, --channels < path > Path to * .channels.xml file (required if the " --site " attribute is
not specified)
-o, --output < path > Path to output file (default: " guide.xml " )
-l, --lang < code > Filter channels by language (ISO 639-2 code)
-t, --timeout < milliseconds > Override the default timeout for each request
-d, --delay < milliseconds > Override the default delay between request
--days < days > Override the number of days for which the program will be loaded
(defaults to the value from the site config)
--maxConnections < number > Limit on the number of concurrent requests (default: 1)
--cron < expression > Schedule a script run (example: " 0 0 * * * " )
--gzip Create a compressed version of the guide as well (default: false)
자신의 서버를 실행하여 URL을 통해 가이드를 사용할 수 있습니다.
npm run serve
그런 다음 가이드는 링크에서 사용할 수 있습니다.
http://localhost:3000/guide.xml
또한 주소의 동일한 로컬 네트워크의 다른 장치에서 사용할 수 있습니다.
http://<your_local_ip_address>:3000/guide.xml
기본적으로 각 채널의 안내서는 하나씩 다운로드되지만 --maxConnections
속성을 사용하여 동시 요청 수를 늘려이 동작을 변경할 수 있습니다.
npm run grab -- --site=example.com --maxConnections=10
그러나 부하가 무거운 부하에서 일부 사이트는 오류를 반환하거나 액세스를 완전히 차단할 수 있습니다.
XML 파일을 만들고 /사이트에서 필요한 모든 채널의 설명을 복사하십시오.
<? xml version = " 1.0 " encoding = " UTF-8 " ?>
< channels >
< channel site = " arirang.com " lang = " en " xmltv_id = " ArirangTV.kr " site_id = " CH_K " >Arirang TV</ channel >
...
</ channels >
그런 다음 --channels
속성을 통해 해당 파일의 경로를 지정합니다.
npm run grab -- --channels=path/to/custom.channels.xml
일정에 따라 가이드를 자동으로 다운로드하려면 --cron
속성을 사용하여 유효한 CRON 표현식을 스크립트에 전달해야합니다.
npm run grab -- --site=example.com --cron= " 0 0 * * * "
위의 지침에 따라 리포지토리 코드를 다운로드 한 경우 업데이트하려면 명령을 실행하기에 충분합니다.
git pull
그런 다음 모든 종속성을 업데이트합니다.
npm install
이미 연결된 가이드가있는 재생 목록은 IPTV-org/IPTV 저장소에서 찾을 수 있습니다.
모든 채널 데이터는 IPTV-ORG/데이터베이스 저장소에서 가져옵니다. 오류가 있으면 새 문제를 열어주십시오.
API 문서는 IPTV-org/API 저장소에서 찾을 수 있습니다.
다른 유용한 IPTV 관련 리소스에 대한 링크는 IPTV-org/Awesome-IPTV 저장소에서 찾을 수 있습니다.
질문이나 아이디어가 있으면 토론 탭에 게시 할 수 있습니다.
발행 또는 풀 요청을 보내기 전에 기고 가이드를 읽으십시오.
그리고 이미 기여한 모든 분들께 감사드립니다!