Superb quality and spec AB-Com PULSe 4K SE. Crazy offer! Only £99! FREE UK DELIVERY! 4K UHD, Enigma 2, Multiboot 4 images & more!...
Superb quality and spec AB-Com PULSe 4K Rev II Twin Satellite tuner only £149! FREE UK DELIVERY! 4K UHD, Enigma 2, SATA HDD facility, Multiboot 4 images & more!...

Turning Enigma2 Into a Fully Browsable VOD Library

peterai

New member
Joined
Feb 2, 2026
Messages
6
Reaction score
13
Points
3
Hi all,

As a new member here I hope this is the right place to share this kind of project, and that the tone and level of detail are appropriate for the forum.

I'd like to share a fun side project I've been working on called Xanadu. It's a Plex / Kodi style VOD system integrated directly into Enigma2 - without using a plugin.

The goal wasn't to replace existing VOD plugins (I know there are good ones available). The real motivation was the build itself: tailoring Enigma2 exactly to my preferences and learning more about how everything fits together under the hood. I used a lot of information posted here to help build this. Hence, sharing back.

Over the years I've built up a fairly large DVD collection, and that became the content corpus for this project. Xanadu presents the library directly inside the standard PVR view, with rich metadata and visual navigation:
  • Cover and folder artwork
  • Cast and director views (with portraits)
  • Genre and theme-based navigation
  • Duration, resolution, aspect ratio
  • Multiple navigation paths to the same content
Only the All folder contains the actual TS files. All other navigation folders use Linux symlinks (ts, eit, ts.meta, cuts), so:
  • No duplicated disk space
  • Consistent resume points regardless of where playback is started

The tools I used were:
  • ffmpeg – DVD ripping to mp4 and conversion to ts
  • ffprobe – metadata extraction (duration, resolution, aspect ratio, etc)
  • LLaMA 3.1 – generating consistent synopsis, bios, tagging, etc
  • Custom Python – generation of .ts.meta, .eit, .cuts
  • Custom Python – automated navigation folder creation
  • ImageMagick – compositing cover art over backgrounds
  • Dola – actor and director portraits
  • ChatGPT5.2 - folder artwork
  • Samba – transfer to STB (1TB storage)
  • Custom Engima2 Renderer - to show art work on folders
  • Custom Engima2 Formatters - to show synopsis and meta information

I'm really pleased with how it turned out. Having a fully browsable, metadata-rich library inside the native Enigma2 interface is surprisingly satisfying.

If there's interest, I'm happy to share more details.
 

Attachments

  • xanadu-1.webp
    xanadu-1.webp
    73.6 KB · Views: 29
  • xanadu-2.webp
    xanadu-2.webp
    79.4 KB · Views: 27
  • xanadu-3.webp
    xanadu-3.webp
    80.6 KB · Views: 26
  • xanadu-4.webp
    xanadu-4.webp
    80.7 KB · Views: 25
  • xanadu-5.webp
    xanadu-5.webp
    77.9 KB · Views: 25
  • xanadu-6.webp
    xanadu-6.webp
    71.5 KB · Views: 25
  • xanadu-7.webp
    xanadu-7.webp
    81.1 KB · Views: 26
Looks cool. Would be interesting to have more info.
 
I've published the key parts into this public GitHub repo: https://github.com/pete-rai/enigma2-vod

I included all the artwork, except the people and box cover art - for privacy and copyright reasons.

This repository contains all the important scripts and instructions - custom skin components (Converters and Renderers), cover artwork templates, and conversion scripts.

The most immediately useful piece might be the Python script (scripts/openvix.py) that generates proper Enigma2 "recording-like" file sets from standard MP4 videos. It creates:
  • .ts - Transport stream (via ffmpeg)
  • .eit - DVB event information with titles and descriptions
  • .ts.meta - Service reference and metadata
  • .ts.cuts - Playback markers
The script handles all the tricky bits: BCD encoding, MJD date conversion, pre-1970 dates, and proper DVB binary structures. Even if you don't use the full system, the conversion script alone can save a lot of manual effort when preparing media files for Enigma2.

Full documentation, deployment instructions, and skin XML integration examples are in the README.

Licensed under Apache 2.0, so feel free to use, modify, and contribute!
 
thanks. maybe a dumb question: why do you convert mp4 to ts? imho e2 can play back mp4 just fine.
 
I was simply mirroring the exact files, formats and naming conventions as the recordings in the PVR folder.
 
thanks. maybe a dumb question: why do you convert mp4 to ts? imho e2 can play back mp4 just fine.
But will it then look for the .ts.meta, .eit, etc, files?

It's only a container change - takes hardly any time at all.
 
But will it then look for the .ts.meta, .eit, etc, files?

It's only a container change - takes hardly any time at all.
good point. enigma2 probably doesnt support that for mp4 files. would be a nice e2 enhancement. many downloads have mp4 format.
 
good point. enigma2 probably doesnt support that for mp4 files. would be a nice e2 enhancement. many downloads have mp4 format.
Downloads also won't have ts.meta and eit files unless you create them yourself.
If you do then you can convert the mp4 to ts as well.
 
well, i dont feel comfortable about converting stuff... when its not needed. so yes, i would have to create a .mp4.eit when downloading files. in dreamos land they create .mp4.txt or so to work around the missing eit but eit would be more consistent.
 
well, i dont feel comfortable about converting stuff... when its not needed. so yes, i would have to create a .mp4.eit when downloading files. in dreamos land they create .mp4.txt or so to work around the missing eit but eit would be more consistent.
Since it is not a text file there would be no consistency in the name.

As for converting an mp4 to a ts:

ffmpeg -i in.mp4 -codec copy out.ts
 
Since it is not a text file there would be no consistency in the name.

As for converting an mp4 to a ts:

ffmpeg -i in.mp4 -codec copy out.ts
obviously the .mp4.eit would have to be created in the same format as .ts.eit for consistency.
 

OpenViX Feeds Status

Back
Top