Oratorian 47 Posted 1 hour ago Posted 1 hour ago (edited) emby-theme-maker Auto-generate theme videos & theme music for your TV shows — straight from Emby's own Intro markers. Most of us let Emby's Intro Detection scan our libraries so we can skip the openings. But those IntroStart / IntroEnd markers already point at the exact theme-song sequence of every show. This small, dependency-free tool reuses them: it cuts that segment out of a representative episode and drops it into the series folder as a looping backdrop video (and, optionally, theme music) that plays on the detail page. See it as alternative to the TV-Theme plugins. No manual clipping, no hunting for openings — if Emby detected the intro, you get a theme. How it works Reads each series' intro markers over the Emby HTTP API. Picks a representative episode per series (median intro length — robust against cold opens / creditless specials). Uses ffmpeg to cut [IntroStart → IntroEnd], re-encode with fade in/out, and write the result where Emby expects it. video → SeriesFolder/backdrops/theme.mp4 (h264/aac video backdrop) audio → SeriesFolder/theme.mp3 (theme music, series root) both → both of the above, in one pass Highlights Zero Python dependencies — just Python 3 + ffmpeg. Safe by default — never overwrites an existing theme without --force; even protects a hand-curated theme-music/ folder. --list and --dry-run so you see exactly what will happen before anything is written. Atomic writes — a cancelled run never leaves a half-written file. Parallel encoding (--jobs), path-mapping for Docker/NAS setups, per-language audio selection, fade & quality controls. Idempotent — re-run any time and it only fills the gaps. Requirements Python 3.9+ and ffmpeg / ffprobe on PATH An Emby API key (Dashboard → API Keys) Local or mounted access to your media so ffmpeg can read episodes and write into series folders Quick start Create a .env: EMBY_URL=http://192.168.1.10:8096 EMBY_KEY=your_api_key # how Emby-reported paths map onto THIS machine's mounts EMBY_PATH_FROM=/media EMBY_PATH_TO=/mnt Then: System specific binaries exist: emby-theme-maker.exe(win_x64), emby-theme-maker(linux_x64) All share the same syntax below. # preview — read-only, writes nothing ./emby_theme_maker.py --list # generate video backdrops + theme music, then trigger a scan ./emby_theme_maker.py --mode both --jobs 3 --refresh Tip: Emby only registers new theme files on a full library scan. The --refresh flag triggers one for you at the end of the run. Notes Tested on Emby 4.10. Works great across a full library (I ran it over ~120 shows). Series with no detected intro are simply skipped. Provided as-is by a fellow user — feedback, issues and PRs welcome! emby-theme-maker.zip Edited 1 minute ago by Oratorian
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now