UPDATE: I didn't anticipate certain use cases. Some users are having problems installing ezIPTV into subdirectories. I tried to fix this for v0.3 but as of right now it's not fixed. The reason is that the router used for the application doesn't work well for this use case. What I need to do is figure out how to get this to work with the path.
Some options are autodetecting the URL and writing it to the settings.json. Others are to automatically determine the URL and put it in dynamically. Either way, it's a pain and I didn't get it done. I'm still working on it but could use the help from any contributors who want to get this working on subdirectories.
I posted a few weeks ago about an RSS to M3U VOD script I wrote and I mentioned it would later be included as a part of a free self-hosted IPTV M3U manager I was working on… Well, here it is, finally, I give you ezIPTV .
This is version 0.3. So consider this an alpha but with that said it is fully functional and in theory would never need an update. However, I am sure users will find bugs and I intend to add other features and improve the user experience.
Why did I do it? Cause I freakin' hated using Xtream Editor and IPTV EPG . They’re terrible services, cost way more then they are worth, and editing is a nightmare.
Editing a huge M3U list shouldn’t be done the way they are doing it. The average user doesn’t want to edit each channel like an individual entry. By converting the M3U into a spreadsheet it makes managing channels so much easier than the mess they are offering. With ezIPTV, we can use the power of any spreadsheet software we like such as Google Sheets, Microsoft Excel, Libre Office Calc, and Apache Calc. Do complex extended find and replace, sorting, column changes, and a whole lot of other things in seconds rather than hours!
Not to mention if you use Google Sheets or the online Excel you can edit your M3U CSV on your phone in real time. If a channel stops working just turn it off from your phone!
So that’s what I built for myself about two years ago. And I have worked out the bugs for that so I think most of you will really like this.
It’s simple to use. Convert some M3U files to a CSV file with ezIPTV, put that CSV into Google Sheets, edit it, put the published URL into ezIPTV, and boom you have customized your M3U! And since hosting this is free on Heroku no one has to pay a cent to anyone!
Anyway, give me feedback. In this post is fine but if you're actually using this and come across problems I would prefer any errors be reported within GitHub so I can manage things easier.
ezIPTV v0.3
ezIPTV is a simple and free personal IPTV manager.
Services like Xtream Editor and IPTV EPG are clunky, expensive, and for the most part, suck. Editing large IPTV lists on these services is so annoying and slow making that it makes the fact that it costs money feel like a rip-off. While these services do offer a convenient and reliable solution for EPG a smart IPTV user should be able to find EPG data for free.
ezIPTV was created to be a DIY solution for IPTV enthusiasts. Instead of managing your M3U on a clunky website's database ezIPTV converts M3U files into CSV so that they can be manipulated easily with any spreadsheet software such as Google Sheets , Microsoft Excel , Libre Office Calc , and Apache Calc .
Oh, also it's all free. ezIPTV was created with the intention of using the free Heroku self-hosted services. And if you came here from Reddit thanks!
How to install on Heroku
With Heroku, anyone can build their own ezIPTV for free in just a few minutes!
- Create a free account with Heroku if you haven't done so already.
-
Just click
Deploy to Heroku. - Fill out the Heroku form and click build.
- Open your new app URL and do the simple setup.
THAT'S IT!
How to install on a server
Note: ezIPTV cannot be run within a domain subdirectory as of right now!
Even on hosted servers ezIPTV installation is extremely easy.
-
Either clone the repository
git clone https://github.com/spencerthayer/ezIPTV ezIPTVor download the zip . - Clone or extract ezIPTV into the root directory of your site.
- Ensure ezIPTV has read/write permissions for all directories.
- Open your new app and follow the instructions.
-
Ensure that the setup correctly created the
.htaccessmod rewrite capabilities.
THAT'S IT!
How to use
Using ezIPTV isn't actually super easy, but it's not hard once you figure it out.
Format your M3U
- Create a new link and copy and paste the links to the IPTV services into the field for the M3U links to be converted into a CSV file. You combine multiple M3Us.
- Save your new link.
-
Click the
CSVbutton to download the CSV file. - Now import that CSV file into your favorite Spreadsheet software.
To see an example CSV file download this sample .
Format your CSV file
ezIPTV converts the M3U scheme into the following table column names:
ACTIVE
,
ERROR
,
REGION
,
CODE
,
CATEGORY
,
GROUP
,
TAG
,
ID
,
NAME
,
EPGID
,
LOGOURL
,
URL
,
EPGURL
,
PROVIDER
,
NOTES
-
ACTIVE: If the field is YES the channel will show in the M3U. Anything other than YES will not be published. -
ERROR: If a channel has an error put the error code for the channel in this field. (This doesn't do anything at the moment but will in a later version.) -
REGION: This is the region for the channel, typically it looks like USA or CANADA . -
CODE: This is the country code for the channel, typically it looks like US or CA . -
CATEGORY: This is the category for the channel, this is something like LOCAL or KIDS . -
GROUP: This is used to supersedeREGIONandCATEGORYto group channels together, this can be something like NEWS. -
TAG: This is a special note used to organize channels in regions, categories, and groups. This can most likely be used to make favorites with a special character like★. -
ID: This is the original ID of the channel from the M3U file unaltered. This should be left alone. -
NAME: This can be used to change the names of channels. -
EPGID: This is the EPG or TVG code ID for the channel. Use this to make sure you're getting accurate EPG data from your EPG XML. -
LOGOURL: This is the URL to the channel logo. -
URL: This is the streaming URL for the channel. This should be left alone. -
PROVIDER: This an extra field to help organize the provider of the channel. (This doesn't do anything at the moment but will in a later version.) -
NOTES: This is an extra field used for notes. It's good to keep notes and stay organized.
Publish your CSV file
As of this version, ezIPTV does not allow you to upload a CSV file. Until this changes, it is recommended publishing the CSV file to the web using Google Sheets to CSV .
Getting your new M3U file
- Publish the Google Sheets CSV URL into the field for a link to the CSV used to generate the M3U.
- Save your link.
-
Click the
M3Ubutton to get a link to your new M3U file. - Now import that CSV file into your favorite Spreadsheet software.
ToDo
If you can help me work out these issues or donate to support my development I would appreciate it.
- [ ] Allow the application to run within a domain subdirectory.
- [ ] CSV and M3U file management (Upload / Delete).
- [ ] Backup site data (Import / Export).
- [ ] One click code upgrades.
- [ ] M3U list filtering.
- [ ] EPG XML combination and compression.
-
[ ] YouTube URL to RSS conversion.
- [ ] Better XMLTV formatting.
- [ ] Grab Youtube XML and extract the MP4.
- [ ] User management?
Dependencies
In a later version, this list of dependencies will automagically download to remain up to date. Right now, don't worry about it. It works.
Awesome! Thank you! Any chance you can put together a doc on how to employ on heroku?