github stevezau/media_preview_generator 5.0.0

3 hours ago

Intro & Credits, loudness, worker groups and a redesigned UI

5.0.0 adds Skip Intro and Skip Credits markers for Plex, Jellyfin and Emby. It also adds loudness analysis for Plex, worker groups that can hold several devices, and a redesigned web UI. Job scheduling was reworked, so free workers now decide what runs next. Full docs are at mediapreviewgenerator.dev.

Before you upgrade

  • Settings migrate automatically. Your CPU and GPU worker counts become worker groups. A GPU that 4.4.2 used without its own settings gets one worker.
  • You can't go back to 4.4.2 on the upgraded settings. The old version refuses to start on them. Before upgrading, the app copies your settings to settings.json.pre-v14.bak next to the live file, and it never deletes that copy. To roll back, restore it and start 4.4.2.
  • Intro & Credits is off until you turn it on for a server. Nothing changes for you if you don't.
  • Jellyfin: update the Media Preview Bridge plugin to the new release (plugin-v10.11.1.0 for Jellyfin 10.11, plugin-v12.0.1.0 for Jellyfin 12). Previews keep working on the old plugin. Intro & Credits needs the new one.
  • Emby: install Media Preview Bridge for Emby (emby-plugin-v1.0.0.0) to publish markers. Viewers also need an Emby Premiere key on the server, or Emby will show "Unlock Feature" instead of skipping.
  • Plex: markers are written into Plex's database, so the app must reach it on the same machine. For a Plex on another machine, run the new Plex marker agent container next to Plex. Viewers need Plex Pass to see skip buttons.
  • The "Max concurrent jobs" setting is gone. Free workers now decide what runs. At most three jobs at a time start up (query servers and build file lists).
  • Default retry count is now 5 (was 3). A count you set yourself is kept.

New

Intro & Credits (skip markers)

  • Skip Intro and Skip Credits for Plex, Jellyfin and Emby. Markers are found once per file and sent to every server that has it.
  • Sources: chapters, TheIntroDB, IntroDB.app, SkipDB, audio shared across a season's episodes, markers your servers already have, and on-screen credit text. The app reads the end of the file for the credit roll itself when nothing else agrees.
  • The Inspector now covers both preview frames and Intro & Credits. It shows what each server has, a timeline, and a whole-season view.
  • Fix a marker by hand: press Adjust, drag the intro or credits, and save. You can also add a marker where none was found.
  • Choose per server whether to use our markers or keep the server's own.
  • Setup Health checks Plex Pass, the marker tag, Plex's own detection, the database location and the plugins.
  • Files the online databases had no entry for are checked again weekly.
  • Intro & Credits runs as its own job type on the shared workers. It uses the same queue, priorities, pause, cancel and retries as previews. Worker rows show percent, speed and ETA.

Loudness (Plex)

  • Loudness analysis runs on your own workers instead of one stream at a time inside Plex, which takes months on big libraries. Results match what Plex writes. See Plex loudness analysis.
  • New files get loudness analysis after their previews and Intro & Credits.
  • A command-line undo tool reverts loudness writes (run it with Plex stopped).
  • Setup Health shows Plex's own loudness setting and can set it to Never.
  • Up to three audio tracks are analysed in one FFmpeg pass.

Workers and jobs

  • Worker groups can hold several devices. Each device has its own worker count and allowed job types.
  • Groups can have active hours. Times show in the container's timezone.
  • The per-kind worker cap is now 64 (was 32).
  • Pause is always available. Paused and running jobs can be selected and bulk-cancelled, as can queued previews jobs.
  • Start job accepts several job types at once. Manual runs no longer queue loudness on their own.
  • Full-library scans can be filtered: added within the last X days or a date range, latest N seasons per show, and movie release years. Newest-first and oldest-first ordering works again.
  • Webhooks can delay processing, on every route.
  • Plex previews no longer wait for Plex to index the file. Generation continues while Plex is offline or still scanning, and Plex is told afterwards.
  • Plex chapter thumbnails (optional, off by default): turn on "Generate chapter thumbnails" in the Plex server's Processing settings. Tested on Plex 1.43.4.x, single-version media only.

Interface

  • The dashboard and every page were restyled in one design language, with better contrast, larger touch targets and a pinned navbar. A dense worker table is used for groups with many workers.
  • New docs site at mediapreviewgenerator.dev.

Improved

  • Scans are faster on Plex: the app takes bundle hashes from Plex in bulk and skips folder listings for Plex-only setups.
  • Jobs of the same priority now take turns, so a big scan no longer holds up a later webhook.
  • A job that is ready but has no free worker says "Waiting for a free worker".
  • A GPU that cannot decode a file (for example AV1 on an older NVIDIA card) now hands it to the CPU in about a second instead of minutes.
  • A job where only a few files were missing from disk now ends amber, not red.
  • Retries resend only the files still missing and show their real count.
  • A job interrupted by a container stop can be revived instead of showing as failed.
  • Job logs show dates and one record per file. They are written live.
  • CPU worker count changes apply immediately, like GPU changes.
  • The Jobs page names jobs by file and library.
  • Jellyfin and Emby plugin and server-readiness messages are clearer.

Fixed

  • Dolby Vision Profile 8.1 files with no HDR10 metadata were taken down the Profile 5 path. Their thumbnails came out grey and generation was 5 to 7 times slower. They now take the normal route.
  • PQ and HLG files without HDR metadata are now tone-mapped.
  • Cached frames are reused only when the interval, quality and tone mapping match.
  • Empty (0-byte) preview files are no longer treated as "already there", and previews are flushed to disk before the rename.
  • Chapter seeks past the last frame are no longer reported as FFmpeg crashes. Chapter thumbnail generation reports clearer progress.
  • A file replaced by Sonarr or Radarr, including one moved to another disk of the same library, is recognised.
  • Several jobs wrongly ended Failed or with empty previews. Some Plex copies sharing one bundle were handled incorrectly.
  • Settings backup pruning now touches only the app's own backups.
  • Intro & Credits: credits were missed or misplaced in several cases (season theme music, network idents, captioned story text, Intel GPUs). Files deleted from disk are forgotten. A busy Plex database is waited for longer.
  • Retry chains showed wrong history or tried to run their summary row as a job.
  • The per-server webhook URL failed when you had two servers of the same kind (for example two Emby servers).
  • A new, empty config folder or Docker volume no longer stops the app from starting with "Permission denied".
  • Many layout fixes: overlapping worker warnings, button colours, aligned path-mapping rows, equal-height summary cards.

Don't miss a new media_preview_generator release

NewReleases is sending notifications on new releases.