Latest release focuses on custom mapping and now allows a number of new possibilities:-

  • Reorder bouquets
  • Reorder channels within bouquets
  • Disable entire bouquet or individual channels
  • Ability to change service reference (so that EPG from existing satellite service can be used)
  • Ability to replace local DVB in IPTV bouquet (e.g. if your box has a tuner you can use it for FTA channels instead of the IPTV versions)
  • Change tvg-id to match other xml epg feeds

Custom mapping

To use the custom mapping feature run the script once, it will create ‘e2m3u2bouquet-sort-current.xml’  in the working directory, FTP this to your machine rename it to ‘e2m3u2bouquet-sort-override.xml’ (best to use an xml aware editor like Notepad++), make changes and then FTP it back to the box.

N.B. Some of the more advanced mapping features (e.g. changing to a local dvb epg or a different xmltv epg) will be time consuming to set-up. Ways to further automate this will, hopefully, be part of a future release

Bouquet mapping

Open the override xml file, in the <mapping> -> <categories> section reorder the categories as you wish. If you set enabled from “true” to “false” no bouquet will be create for the category

Service mapping

Open the override xml file, in the <mapping> -> <channel> section reorder the channels as you wish. If you set enabled from “true” to “false” no service will be create for the channel

Using local DVB epg (e.g for full 7 day epg)

Open the override xml file, in the <mapping> -> <channel> section change the serviceRef attribute

For example to use the Channel 4 HD DVB-S EPG you would set the serviceRef to “1:0:1:52D0:814:2:11A0000:0:0:0″ (part in bold SID:TID:NID:Namespace needs to match). If you match a DVB service and also set the clearStreamUrl attribute to true the DVB service will replace the IPTV service.

(The service references can be found using a program like E-Channelizer)

N.B. For newer versions if you want to override the serviceRef’s then you need to set ‘Override service refs’ to true for change to take effect.

Using different xmltv feed (e.g for full 7 day epg)

Open the override xml file, in the <mapping> -> <channel> update the tvg-id values to match the xmltv feed.Add the provider urls in <mapping> -> <xmltvextrasources> – there is a commented out config for the Rytec uk & de sources for reference

Provider Updates

Over time your provider is likely to update the channels they offer. If you are using custom sorting then any new categories/channels will be added at the end of your custom lists. If you wish to include the categories/channels in your custom mapping it’s best to re-save ‘e2m3u2bouquet-sort-current.xml’ as ‘e2m3u2bouquet-sort-override.xml’ (‘e2m3u2bouquet-sort-current.xml’ should always reflect the changes you’ve made in the override file)

Functionality changes

VOD is now back in one bouquet. Reason for this change it that a large number of bouquets can crash the box. If you wish to have multiple categories for VOD please use the -M parameter e.g.

./e2m3u2bouquet.py -n suls-u USERNAME -p PASSWORD -M

All channels bouquet
To have an All Channels bouquet created please use the -a parameter e.g.

./e2m3u2bouquet.py -n suls-u USERNAME -p PASSWORD -a


Download latest release here

66 thoughts on “e2m3u2bouquet 0.5

  1. Epic work doug..

    1. Ditto, brilliant work just installed 0.5 and spot on.
      Love it 🙂 respect to you guys for all your hard work and the valuable time you put in creating scripts like this to make a noobs life like mine a lot easier. All this stuff is way over my head but I’m trying to make sense of it all slowly but surely 🙂

      Thanks Again.


  2. look forward to trying. tested beta and worked well

  3. Chris Scott

    Also wanted to say excellent work guys, thank you for your hard work!

    A feature request for you to consider, the ability to search for the Serviceref defined in e2m3u2bouquet-sort-override.xml in other bouquets on the box and insert the iptv stream if matched (probably with the aid of another true/false in the xml).

    The thinking being to have AutoBouquetMaker create the familiar UK channel list, and then have e2m3u2bouquet switch out certain channels for iptv streams for a nice wife friendly setup 🙂

  4. Hi guys great update on this version with the custom mapping. worked really well for me. Just tried running it late last niht and this morning and the script times out on the downloading m3u part. Any ideas if this is a user error on my part/provider error or is the scrip down? Thanks

    1. Are you able to download your providers m3u file directly in a browser ?


        Doug that was my next step. It gave me site could not be reached. Got on to provider and my Ip was blocked. They flushed it and script worked 1st time. Thanks for getting back to me

  5. Excellent work guy’s really is amazing how far you have brought the iptv topic forward since the early days of creating these files manually in pspad/notepad++..

  6. Stephen Pearce

    Great work, looking forward to more updates

  7. Paul Lloyd

    Could someone point me in the right direction please? On V3 i can use:

    python e2m3u2bouquet.py “http://****/get.php?username=****&password=****&type=m3u_plus&output=ts” “http://****/xmltv.php?username=****&password=****”

    But on the latest ones I keep getting an error. Any help would be much appreciated

      1. Paul Lloyd

        Thanks, I’ve tried that multiple times and it’s worked this time…

  8. Hi guys, this is great work thanks and has been tested as working here on OpenVix latest (5.0.021 atm) on a Miraclebox Micro and Technomate TM-Nano-SE. Reordering etc is all working great thanks.

    Just a request please – there’s an enigma2 add-on called serviceapp which lets you tweak gstreamer / gstplayer settings or swap it out entirely for exteplayer3 which works better on some boxes with much lower CPU usage. It needs the service ID in the bouquets to be 4097 / 5001 or 5002 instead of just 1: like it is for DVB in the bouquet files though. I tried the -i option but they still seemed to all start with 1:.

    Is it please possible to add an option to allow for a custom service id (or just use 1 or 4097) and then let the serviceapp config control playback?

    That would be awesome if possible please and would massively reduce CPU usage on a lot of boxes and free them up a bit.

    With thanks in advance 🙂

    1. -i should (did) do what you are after, looks to be a bug in the current release, leave it with us… cheers

      1. With -i set it will set all live tv and VOD to 4097. Without -i set live tv will be 1 VOD will be 4097.

        If you have an override.xml file setup then the serviceRef in that will override the -i option. So if you created the override.xml file when the script was run without -i it will override to 1

        (hope that makes sense?)

        To fix either delete the override.xml file or do a search and replace ‘serviceRef=”1:’ to whatever you need

        1. That’s a good point, my override will be overriding it in testing

          1. Ah yes that’s it thanks guys – I’d run the script, created the override to make things more like the older bouquets order from ABM so that’s why the channel ref didn’t change!

            I’ll give it another go thanks but that’s great news!

  9. So having an issue with the EPG part.

    Ran the script and all the bouquets were made.
    There is an entry under sources for EPG Import called ‘e2m3u2bouquet’.
    So I tick that and save and then do a manual scan.
    However there are no events found.
    I did a rescan the next day and still nothing.
    Any ideas?

    1. sounds like your EPG data source is wrong, are you passing a URL to the script? if so does it load in firefox?

      1. Yeah passing a URL.
        When I paste it into FF, I’m not getting anything back (did not match any documents)
        I’ll get back onto my provider.

        1. So I think I have it sorted — had an extra ‘T’ in the http part of the URL.
          Anyway to update do I just re-run the Pyton script?
          Or do I have to delete the old one first?

          1. Just rerun with the correct parameters

  10. Guys just trying to run the uninstall command and getting permission denied on putty? i know i can just reflash and start again but is there any reason why the uninstall is giving me this message. Thanks

    1. ./e2m3u2bouquet.py -U should work

      or python e2m3u2bouquet.py -U

      Do you have an uppercase u?

    2. and if you have ftped across a new script chmod 777 e2m3u2bouquet.py

      1. Yea i had the tried uppercase U with ./e2m3u2bouquet.py -U but still got same response. Tried python e2m3u2bouquet.py -U and it worked first time. Cheers

  11. […] Full details of v0.5 release here […]

  12. Cannot get this to work for Flawless. If i use the python version and use the url it imports the channels but will not import epg when i try it.

    If i try the short version it just reads error when using putty.

    1. For the long version can you try the epg url in a browser and confirm it downloads ok?

    1. your m3u url is incorrect

      1. I cannot see where though, if i change the username and password to my other provider it works perfectly. If I try it with my flawless account I get the error

  13. I don’t believe it,it’s just after working and i changed nothing from what i was doing yesterday. Aaagggghhhh!!! Thanks for the replies folks.

  14. I get this when trying to run the script
    Traceback (most recent call last):
    File “/home/root/e2m3u2bouquet.py”, line 22, in
    from argparse import ArgumentParser
    ImportError: No module named argparse

    any ideas?

    1. You’ll need to install argparse on your box. Telnet/ssh to it and run ‘opkg install python-argparse’

  15. Someone I know using BH image getting following error:

    “ImportError: No module named PIL”

    Anything need to install to get the PIL module? Cheers

    1. Probably need to run ‘opkg install python-image python-imaging’

  16. Any way of being able to change channel names, like removing the UK : from providers in the override file

    1. No, it’s not currently possible to change the channel name

      1. Any planned development for changing the channel name?

        1. Nothing planned but we can add it to the wishlist

        2. Feature now in v0.5.4

  17. Hi there, I presume I need to download picons from my provider because its not picking up my existing DVB picons. Is this correct?

    1. Picons names have to match either the service name or the service reference.

      You can look at the -P & -q command arguments to download the logos that are listed in the providers playlist

  18. I’m getting this
    —-Parsing m3u file—-
    Traceback (most recent call last):
    File “./e2m3u2bouquet.py”, line 885, in
    File “./e2m3u2bouquet.py”, line 851, in main
    categoryorder, disabled_categories, dictchannels = e2m3uSetup.parsem3u(m3ufile, iptvtypes, delimiter_category, delimiter_title, delimiter_tvgid, delimiter_logourl)
    File “./e2m3u2bouquet.py”, line 132, in parsem3u
    raise e
    Exception: File is empty

    1. You m3u file is empty. Check you username & password and try the url in a browser

  19. Hi guys any tutorials from the start for a complete newbie

    1. Hi, please see the How do i use it? section on this page – https://www.suls.co.uk/enigma2-iptv-bouquets-with-epg/

  20. […] Full details of v0.5 release here […]


    Strange, it worked but when I restart all EPG is gone, I restart a manual update and the epg doesn’t show up anymore. I don’t have any prestart enigma scripting running, I checked.

    Do you know what can be wrong?


      ok, found it, just make sure system time is correct…..dumb of me. Idon’t know why but my system time resets once in a while to 2029. I only use IPTV, not satellites

  22. Does anyone have any good xmltvextrasource url’s i can add to my override file for better epg ?? im missing a couple of countries at the min but setup is better than ever thanks for the work you put in boys 2nd to none ;-))

  23. Can I try this with a provider that is not on your list?
    I use GiantIPTV.

    1. Yes, see the URL based setup options detailed on this page https://www.suls.co.uk/enigma2-iptv-bouquets-with-epg/

  24. Bit of a niche question that is probably general to iptv bouquets rather than the plugin, but, when the plugin creates a new bouquet and everything is alpha sort order, leaving and returning to the EPG takes me back to the channel I am on rather than channel one. Whenever I sort the bouquets manually so that they are in a custom sort order no matter what setting I use in the EPG menu, I cannot get it to return to current channel on opening EPG, only channel 1. Anyone having this problem that might know of a solution? It is like the only thing that is bothering me about the iptv bouquets now!! I presume there is some formatting I am not seeing in notepad++ that is causing this issue but I’m at a loss…

    Many thanks in advance,


  25. Hello, have installed this and cant get the epg to work any idea ?

    1. Who is your provider, you may be better off on the plugin v0.63

  26. Hi suls I’ve done the custom mapping thing and FTP it back to the box with the name e2m3u2bouquet-sort-override.xml what should I be doing next for my Bouquet mapping to take effect .
    Your help would be much appreciated.

    1. If you are using a recent version the ‘current’ file will be ‘provider-sort-current.xml’ you would rename that as ‘provider-sort-override.xml’ make your changes and then ftp back to the box

    2. you just have to run the script again. It will respect the sortings, changes etc… you made in the override file. I pretty guess you figured it out in the mean time… 🙂

  27. excellent plugin
    was just wondering if in any future releases the possibility to have an option to change the order of the vod files like we can now change the order of the bouquets
    i use the multi vod option but at the moment there is no way to change those bouquets around

  28. hi could someone please help

    i have 2 files


    both pretty much identical

    iv edited both and added the override into the new file name as stated. ftp’d new files onto the box

    but im still not getting any epg info

    im trying to get the DVB 7day info.

    iv used echannelizer to get the references for the channels edited the override file but still nothing
    iv rebooted box also ran e2m3uplugin again also ran epg import but no epg info still

    iv also changed clearstremurl to true but that blanks out my channels on the box.

    iv tried all combinations i can think of but with no luck.

    am i missing anything?

    1. If you’re overriding the service refs to get the DVB epg have you also set ‘Override service refs’ to ‘enable’?

      1. Thanks mate thats sorted it cheers

  29. How do you remove e2m3u2bouq from the beginning of every categorys created thanks

Leave a Reply

Your email address will not be published. Required fields are marked *