Customize your channel lists with m3uBuilder.

by grkblood13

m3uBuilder is a way to take an XMLTV file and m3u file and customize it to name the channels what you want them to be, order them how you want them displayed and remove channels that you don't want listed. NOTE: This requires nodejs to run and has been tested on linux and windows.

https://github.com/grkblood13/m3uBuilder

cchalk

Hi,

Nice work!

Tried it with FabIPTV and it worked fine. Cut out all of the VOD that adds an extra 1.27MB of data to the original downloaded playlist.

Loaded the new playlist with Kodi IPTV Simple client and working great with full guide which is great.

Thanks!

grkblood13

I'm open to adding things so if anyone would like to make any feature requests please do so here. Also, I re-baselined the repo so if you were following it you'll need to re-follow.

xdmwnet

Great work, I've been looking for an offline editor and will try this later.

I've been using xtream editor to customise my playlists until now. It's a paid service and although inexpensive, I'd never trust an online editor with my IPTV login credentials.

drogennehmen

Thanks for the tip, going to give a try this week-end!

grkblood13

Update:

added 'changeGroupTo' which allows you to rename groups and merge multiple groups to one.

added command line interface which supports the follow commands:

--channels: lists all channels in alphabetical order

--groups: lists all groups in alphabetical order

drogennehmen

Good work, successfully installed it, sadly nothing happens after that, just an error, but I'll keep trying.

grkblood13

Currently I'm adding support for multiple sources.

wyild1

I cannot seem to get it to run. Using Debian 7:

events.js:72
    throw er; // Unhandled 'error' event
          ^
TypeError: Cannot read property 'tv' of null
at /Data/scripts/m3uBuilder/m3uBuilder.js:246:16
at Parser.<anonymous> (/Data/scripts/m3uBuilder/node_modules/xml2js/lib/xml2js.js:489:18)
at Parser.emit (events.js:95:17)
at Parser.exports.Parser.Parser.parseString 
(/Data/scripts/m3uBuilder/node_modules/xml2js/lib/xml2js.js:499:16)
at Parser.parseString (/Data/scripts/m3uBuilder/node_modules/xml2js/lib/xml2js.js:7:59)
at /Data/scripts/m3uBuilder/m3uBuilder.js:245:12
at Array.forEach (native)
at main (/Data/scripts/m3uBuilder/m3uBuilder.js:238:12)
at IncomingMessage.<anonymous> (/Data/scripts/m3uBuilder/m3uBuilder.js:100:4)
at IncomingMessage.emit (events.js:117:20)