This commit is contained in:
freearhey 2019-09-15 13:49:26 +03:00
commit 3d9a8befd1
6 changed files with 111 additions and 25 deletions

96
.github/CONTRIBUTING.md vendored Normal file
View File

@ -0,0 +1,96 @@
# Contributing Guide
If you want to help the project you can do this in several ways. Here are some options:
- [Add channel](#add-channel)
- [Sort channels by category](#sort-channels-by-category)
- [Sort channels by country](#sort-channels-by-country)
- [Add EPG source](#add-epg-source)
## Add channel
To add a channel to one of the playlists, you first need to make sure that the channel broadcast is working stably. Otherwise, we just have to delete the channel you just added.
To do this, start the broadcast in one of the players (preferably a VLC player) and keep it on for at least a minute. The fact is that some broadcasts are configured to automatically turn off after 10-15 seconds or sometimes after a couple of minutes.
You should also make sure that this is a live broadcast and not a looped video (this also happens). The easiest way is to start the broadcast several times in a row after a short period of time and compare the beginning.
If everything is fine, then you can proceed to add the channel to the playlist.
If you know exactly in which country this channel is broadcast, then simply select the appropriate playlist from the `channels/` folder and add the channel to it.
If you are not sure which playlist to add this channel to, you can add it to the `channels/unsorted.m3u` file. It was created specifically for such cases.
Further on the format of links in the playlist. For the broadcast to work in the playlist, you need to add at least minimal information about the channel, like so:
```xml
#EXTINF:-1,Example TV
http://example.com/stream.m3u8
```
But of course, the more channel information you add, the better. Here's an example of what a full version of a link in a playlist might look like:
```xml
#EXTINF:-1 tvg-id="exampletv.us" tvg-name="Example TV" tvg-logo="http://example.com/channel-logo.png" group-title="News",Example TV
http://example.com/stream.m3u8
```
More details about each attribute:
| Attribute | Description
| ----------- | ---
| tvg-id | Channel ID that is used to load EPG (optional)
| tvg-name | Channel name that is also sometimes used to load EPG (optional)
| tvg-logo | The logo of the channel that will be displayed in the player if it supports it (optional)
| group-title | The category to which the channel belongs. These categories are also displayed in some players, and grouped playlists are also generated based on them. The list of currently supported categories can be found below (optional)
## Sort channels by category
To help sort channels by category, you need to add the corresponding category in the description of the channel, like this:
```xml
#EXTINF:-1 group-title="News",CNN
http://example.com/cnn.m3u8
```
For convenience, `https://raw.githubusercontent.com/freearhey/iptv/master/categories/other.m3u` contains all the channels for which a category has not yet been specified. But be careful, changes can only be made in the playlists located in the `channels/` folder, since the other playlists are automatically generated.
A complete list of supported categories can be found [here](https://github.com/freearhey/iptv#playlists-by-category).
## Sort channels by country
You can help sorting channels by country by moving the link to the channel with the entire description from one playlist in the `channels/` folder to another. Be careful, any changes outside the `channels/` folder will not be accepted, since the rest of the playlists are generated automatically.
It should also be noted that the channels are not sorted by country of stream source, but by the country in which they are broadcast. If the same channel is broadcast in several countries at once, you can move it to the `channels/int.m3u`.
## Add EPG source
To add a new source of EPG (Electronic Program Guide), you must add the `x-tvg-url` attribute to the beginning of the corresponding playlist, like this:
```xml
#EXTM3U x-tvg-url="http://example.com/epg.xml.gz"
```
The next step is to copy the corresponding `tvg-id` and `tvg-name` from EPG into the description of the channels. To do this, we need to open the EPG file in a browser or any text editor, find the list of channels. Usually it looks like this:
```xml
<tv>
<channel id="cnn">
<display-name>CNN</display-name>
</channel>
<channel id="nbc">
<display-name>NBC</display-name>
</channel>
...
</tv>
```
Copy `id` and `display-name` from it and paste it to the channel description, like this:
```xml
#EXTINF:-1 tvg-id="cnn" tvg-name="CNN",CNN
http://example.com/cnn.m3u8
```
And if you did everything right, then by opening a playlist in a player that supports EPG, you should see the program guide for all updated channels. In some cases, it may also be necessary to manually specify the source of EPG in the player itself.

View File

@ -251,23 +251,9 @@ Or select one of the playlists from the list below.
## Contribution
The easiest way to help the project is to sort channels by country. Specifically for this was created playlist `channels/unsorted.m3u` which contains channels that are not yet sorted by other playlists. If you recognize one of the channels in this playlist, just copy its title and link to the desired country playlist. That's it!
Please make sure to read the [Contributing Guide](https://github.com/freearhey/iptv/blob/master/.github/CONTRIBUTING.md) before making a pull request.
If you want to add new channel to the playlist you need add link to stream and some information about it. For example:
```xml
#EXTINF:-1 tvg-id="exampletv.us" tvg-name="Example TV" tvg-logo="http://example.com/channel-logo.png" group-title="News",Example TV
http://example.com/stream.m3u8
```
| Attribute | Description
| ----------- | ---
| tvg-id | Channel ID that is used to load EPG (optional)
| tvg-name | Channel name (optional)
| tvg-logo | The logo of the channel (optional)
| group-title | One of the following categories: Auto, Business, Classic, Comedy, Documentary, Education, Entertainment, Family, Fashion, Food, General, Health, History, Hobby, Kids, Legislative, Lifestyle, Local, Movies, Music, News, Quiz, Religious, Sci-Fi, Shop, Sport, Travel, Weather, XXX (optional)
If you just found an error or have any suggestions on how to organize a playlist please send an [issue](https://github.com/freearhey/iptv/issues) or a [pull request](https://github.com/freearhey/iptv/pulls)
If you just found an error or have any suggestions on how to organize a playlist please send an [issue](https://github.com/freearhey/iptv/issues)
## Testing

View File

@ -35,6 +35,8 @@ http://g5nl6xx5lpq6-hls-live.5centscdn.com/602/live12345/payameafghantv.stream/t
http://173.208.166.179/rta_tv_live-789jkl456hgf_789_defgh/tracks-v1a1/mono.m3u8
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="https://i.imgur.com/MaMG5ix.png" group-title="",TOLO News
http://173.208.166.179/tolo_news_live-1c104a79_dawus-khairatkhor_bastard-off_a3b65f99f6e409555/tracks-v1a1/mono.m3u8
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="https://i.imgur.com/nSdfoGi.jpg" group-title="",TOLO TV
http://74.91.29.218:8081/Afghantvchannels/Tolo-TV-2-FUCKYOU-FUCKOFF/chunks.m3u8
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="https://i.imgur.com/JerfIBt.jpg" group-title="",Tuti
https://rrsatrtmp.tulix.tv/livecdn827/myStream.sdp/chunklist.m3u8
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="https://i.imgur.com/jcjlypA.jpg" group-title="",Watan HD

View File

@ -155,7 +155,9 @@ http://45.126.83.51/uq2663/h/h05/index.m3u8
http://edge.metrotvnews.com:1935/live-edge/smil:metro.smil/playlist.m3u8
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="https://i.postimg.cc/C53XtK5f/zaltv.png" group-title="Music",Mix TV
http://edge.linknetott.swiftserve.com/live/BSgroup/amlst:mixch/playlist.m3u8
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/6/69/MNCTV_logo.png" group-title="",MNC
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="https://i.imgur.com/t80tXIJ.png" group-title="",MNC Sports
http://202.80.222.182/000001/2/ch00000090990000001753/1024.m3u8?m3u8_level=2&zte_bandwidth=1003&virtualDomain=000001.live_hls.zte.com
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/6/69/MNCTV_logo.png" group-title="",MNC TV
http://202.80.222.182/000001/2/ch14041511111714365733/1001.m3u8?virtualDomain=000001.live_hls.zte.com
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="" group-title="Music",Music Top
http://live-edge01.telecentro.net.ar/live/smil:musictop.smil/chunklist_w767435128_b2028000_sleng.m3u8

View File

@ -249,6 +249,10 @@ http://dwstream2-lh.akamaihd.net/i/dwstream2_live@124400/index_1_av-b.m3u8?sd=10
http://dwstream2-lh.akamaihd.net/i/dwstream2_live@124400/index_2_av-b.m3u8
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="http://www.itver.cc/wp-content/uploads/2015/05/DW-TV-Arabia-670x300.jpg" group-title="News",DW Arabic
http://dwstream2-lh.akamaihd.net/i/dwstream2_live@124400/master.m3u8
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="" group-title="News",DW Español
http://dwstream3-lh.akamaihd.net/i/dwstream3_live@124409/index_1_av-b.m3u8?sd=10&rebase=on
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="https://static.iptv-epg.com/de/DeutscheWelleEs.de.png" group-title="News",DW Español
http://dwstream3-lh.akamaihd.net/i/dwstream3_live@124409/master.m3u8
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="" group-title="News",DW News
http://dwstream1-lh.akamaihd.net/i/dwstream1_live@120422/index_1_av-b.m3u8?sd=10&rebase=on
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="" group-title="News",DW News
@ -262,13 +266,11 @@ http://dwstream4-lh.akamaihd.net:80/i/dwstream4_live@131329/index_1_av-p.m3u8
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="https://static.iptv-epg.com/de/DeutscheWelleEn.de.png" group-title="News",DW News
https://dwstream1-lh.akamaihd.net/i/dwstream1_live@120422/index_1_av-p.m3u8
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Deutsche_Welle_symbol_2012.svg/240px-Deutsche_Welle_symbol_2012.svg.png" group-title="News",DW News
https://dwstream4-lh.akamaihd.net/i/dwstream4_live@131329/index_1_av-p.m3u8
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Deutsche_Welle_symbol_2012.svg/240px-Deutsche_Welle_symbol_2012.svg.png" group-title="News",DW News
https://dwstream4-lh.akamaihd.net/i/dwstream4_live@131329/index_1_av-p.m3u8?sd=10&rebase=on
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Deutsche_Welle_symbol_2012.svg/1200px-Deutsche_Welle_symbol_2012.svg.png" group-title="News",DW News
https://dwstream4-lh.akamaihd.net/i/dwstream4_live@131329/master.m3u8
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="" group-title="News",DW Español
http://dwstream3-lh.akamaihd.net/i/dwstream3_live@124409/index_1_av-b.m3u8?sd=10&rebase=on
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="https://static.iptv-epg.com/de/DeutscheWelleEs.de.png" group-title="News",DW Español
http://dwstream3-lh.akamaihd.net/i/dwstream3_live@124409/master.m3u8
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="https://goo.gl/hlH9Uc" group-title="",EBS
http://ott.ec.streamcloud.be/live/disk1/EBS/hls_el/EBS.m3u8
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="http://i.imgur.com/M1vn8hv.png" group-title="",EBS
@ -825,5 +827,3 @@ http://210.210.155.35/session/031c454a-7d85-11e8-820c-c81f66f89318/qwr9ew/s/s32/
http://210.210.155.35/session/5d6f2928-d6cb-11e8-8e98-c81f66f89318/qwr9ew/s/s32/index2.m3u8
#EXTINF:-1 tvg-id="rtr-planeta-eu" tvg-name="РТР-Планета Европа" tvg-logo="https://i.imgur.com/kEhcpJd.jpg" group-title="General",РТР-Планета (Европа)
http://ott-cdn.ucom.am/s15/index.m3u8
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Deutsche_Welle_symbol_2012.svg/240px-Deutsche_Welle_symbol_2012.svg.png" group-title="News",DW News
https://dwstream4-lh.akamaihd.net/i/dwstream4_live@131329/index_1_av-p.m3u8

View File

@ -3,8 +3,6 @@
http://92news.vdn.dstreamone.net/92newshd/92hd/playlist.m3u8
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="https://upload.wikimedia.org/wikipedia/en/5/5b/92_News.jpg" group-title="News",92 News
http://92news.vdn.dstreamone.net/92newshd/92hd_160p/playlist.m3u8
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="https://www.afaqs.com/all/news/images/news_story_grfx/2016/11/49330/JK-24X7-News.jpg" group-title="News",JK 24x7 News
http://edge-ind.inapcdn.in:1935/device2/camera2.stream/chunklist.m3u8
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="https://upload.wikimedia.org/wikipedia/en/f/f3/ARY_Digital_Logo_2.png" group-title="",ARY Digital
http://158.69.229.29:8081/digital_abr/streamabr/digital/livestream_720p/chunks.m3u8
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="" group-title="",AVT KHYBER
@ -23,6 +21,8 @@ http://stream.jeem.tv/geo/geonews/playlist.m3u8
http://stream.jeem.tv/geo/geoentertainment/chunks.m3u8
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="" group-title="",Geo TV
http://streamer64.eboundservices.com/geo/geoentertainment_abr/geo/geoentertainment_master/chunks.m3u8
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="https://www.afaqs.com/all/news/images/news_story_grfx/2016/11/49330/JK-24X7-News.jpg" group-title="News",JK 24x7 News
http://edge-ind.inapcdn.in:1935/device2/camera2.stream/chunklist.m3u8
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="https://kay2.tv/wp-content/uploads/2017/01/logo.png" group-title="",Kay2 TV
http://livecdnh1.tvanywhere.ae:80/hls/k2/04.m3u8
#EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="https://kay2.tv/wp-content/uploads/2017/01/logo.png" group-title="",Kay2 TV