This repo automatically converts live streams into a single .m3u8 playlist and keeps them updated. The stream URLs are stored in a text file, which a Python script parses and builds the .m3u8 file from when a GitHub action is triggered (triggered by a cron job). A direct link can then be used to get the playlist, which can then be used in an IPTV app or xTeVe.
With thanks to @victorlish for the original project.
Stream | EPG | |
---|---|---|
Y | Y | |
Y | Y | |
Y | Y |
- Open the
streams.txt
file. - Add to the file with the following information for each stream:
Channel Name || Channel ID || Category
URL
- Channel Name - the title of the channel and/or live stream. It will appear in the EPG using this name.
- Channel ID - a short identifier for the channel. Usually ends in
.XX
, where XX is the platform - e.g.ExampleStream.yt
for YouTube streams, orTestStream.dm
for Dailymotion ones. - Category - the type of stream. This is used to group the channels in the playlist, so something like 'Music' or 'News' is a good idea.
- URL - the URL of the stream. It should be the full URL (including "https://www."), and not a shortened version (youtu.be links are not supported)
- After saving changes, either wait for the cron job to run (this repo's job runs at 00:00, 03:00, 06:00, 09:00, 12:00, 15:00 and 18:00), or start the
LinkGrabber
workflow manually (repo > Actions tab > LinkGrabber > Run workflow).
You can also run the program locally by python grabber.py > ./streams.m3u8
or by chmod +x exec_grabber.sh && ./exec_grabber.sh
.
- The .m3u8 file will be generated again.
- If you want to use this repo as your source, remember to replace the username in the below URLs:
Link | |
---|---|
M3U8 file | https://raw.githubusercontent.com/username/StreamsToM3U8/main/streams.m3u8 |
EPG | https://raw.githubusercontent.com/username/StreamsToM3U8/main/epg.xml |
- Add in channel icons
- Rewrite
youtubeLink.txt
to be a JSON file Support for EPG thumbnails from stream thumbnailsSupport for TV guides/EPG matching
Please report the following using Issues:
- Bugs - such as something within the code breaking
- Enhancements - such as support for more sites
Please do not:
- Report broken streams - this isn't a definitive list and is a repository that's designed to be forked!
- Attempt to make a PR with new streams - for the same reasoning as above
You can find my contact details on my profile page. Please remember that I am a solo developer and will help where I can, but please do not make demands. Reporting an issue/contacting me does not guarantee a solution/response.