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.txtfile. - 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.ytfor YouTube streams, orTestStream.dmfor 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
LinkGrabberworkflow 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.txtto 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.