e2m3u2bouquet 0.5


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 serviceRed 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)

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 FAB -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 FAB -u USERNAME -p PASSWORD -a


Download latest release here

58 thoughts on “e2m3u2bouquet 0.5

    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.


  1. 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 🙂

  2. 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. 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

  3. 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

  4. 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. 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. 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!

  5. 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. 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?

  6. 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. 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

  7. 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. 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

  8. 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.

  9. 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?

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

    “ImportError: No module named PIL”

    Anything need to install to get the PIL module? Cheers

  11. 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

  12. 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

  13. 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?

    1. 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

  14. 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 ;-))

  15. 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,


Leave a Reply