Jump to content

Intro/Credits Backup & Restore (New Plugin)


Recommended Posts

guilty57
Posted

Intro/Credits Backup & Restore - open-source replacement for the intro/credits backup plugin

Hi all,

The "Intros Backup/Restore" plugin that many of us have relied on to back up and restore intro/credits chapter markers hasn't seen an update in a while, and I know several people here have been running into issues or just waiting on fixes that haven't come.

I ended up writing an independent, open-source replacement from scratch, built purely against Emby's public plugin SDK - no code from the original plugin, just the same general idea (export markers to JSON per episode, restore them back later).

What it does:

  • Backs up every TV episode's intro/credits chapter markers to one JSON file per episode
  • Restores markers from those JSON backups, matching episodes by TVDB ID + season + episode number
  • Before each backup run, zips up whatever was already in the backup folder into a timestamped archive first, so nothing gets silently overwritten
  • Optional companion .nfo output alongside the JSON
  • Both backup and restore run as normal Emby scheduled tasks - no custom in-app dialogs, just Dashboard > Scheduled Tasks like anything else

Scope: TV episodes only for now - movie intro/credits markers aren't handled.

 

Settings:

image.png.c87eecee4f8da118dd5e29e35a2d626f.png

Scheduled Task:

image.png.7ed13a865ff29666e1dc3a96ee8789a3.png

Requirements: Built and tested against Emby Server 4.10.0.18. You'll need the .NET 8 SDK (or Docker) to build it, and you'll need to copy three DLLs from your own Emby install to build against (not redistributed in the repo for licensing reasons - the README walks through exactly where to find them on Synology/Docker/Windows/Linux installs).

It's MIT licensed, so do whatever you want with it. Source, build instructions, and a v1.0.0 release are all here:

https://github.com/guilty57/credits-intros-backup-restore

Happy to hear feedback, and PRs are welcome if anyone wants to extend it (movie support would be the obvious next step).

crusher11
Posted

Is there a reason this isn't just being offered as a .dll I can drop into my plugins folder, as with all other Emby plugins? I don't know my way around building things or whatever.

I had the old backups plugin, so I have a section like this in the NFO file for each episode:

  <markers>
    <introstart>771144278</introstart>
    <introend>875621889</introend>
    <creditstart>0</creditstart>
  </markers>

Will this work to restore them?

guilty57
Posted

Check the repo. I’ve uploaded the .dll. But read the information about the server version.

guilty57
Posted (edited)

On restoring from your old NFO files: Honestly, no — not as-is. A few things to know:

  • This plugin's restore task only reads from JSON backup files in a folder you configure (IntroBackupPath), not from NFO files sitting next to your media
  • The optional NFO output this plugin writes is also a different, simpler schema (<intros><introstart>...), and it writes them into that same backup folder, not into your media folders
  • There's currently no code path that reads the old plugin's per-episode <markers> NFO block from your media library at all

So your existing NFO files with <introstart>/<introend>/<creditstart> won't be picked up by either the backup or restore task right now.


Here is a simple tool for a quick migration.

 

python3 migrate_nfo_to_json.py \
  --source /path/to/old/nfo/folder \
  --output /path/to/new/json/folder \
  --map introstart=introstart,introend=introend,creditstart=creditstart \
  --emby-url http://SERVER_IP:PORT \
  --api-key YOUR_API_KEY

 

migrate_nfo_to_json.py

Edited by guilty57

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...