(AI Generated Readme)
A Jellyfin server plugin that stops trickplay (seek-bar thumbnail) generation for anything that isn't the actual movie or episode.
By default, Jellyfin generates trickplay thumbnail sprites for every video file it scans — including trailers, featurettes, behind-the-scenes clips, deleted scenes, interviews, samples, shorts, and other extras. This wastes CPU time and disk space on content nobody scrubs through.
This plugin skips trickplay generation for anything that isn't the main feature:
- Still generated normally: the main video file of a
MovieorEpisode. - Skipped: trailers, featurettes, behind-the-scenes, deleted scenes, interviews, scenes, samples, shorts, clips, and theme songs/videos.
Each extra type can be individually re-enabled from the plugin's configuration page, and filtering can be turned off entirely for movies or episodes if you want default behavior back.
Jellyfin classifies extras (trailers, featurettes, etc.) automatically during library scanning, based on folder name, filename, or filename suffix conventions, and stores the result on each item's ExtraType property. This plugin doesn't do any of its own file or folder parsing — it just reads that existing classification.
At startup, the plugin registers a wrapper around Jellyfin's real ITrickplayManager service, replacing the server's original registration. The wrapper intercepts only RefreshTrickplayDataAsync — the entry point that generates trickplay tiles:
- If the item's
ExtraType(and the plugin's configuration) says it's an excluded extra, the call is skipped and the real manager is never invoked, so no tiles are generated for it. - If the item is the main feature/episode, or filtering for that type is turned off, the call passes straight through to the real manager, unchanged.
Every other method on ITrickplayManager (fetching tiles, deleting data, resolving paths, etc.) is a plain pass-through — this plugin only ever changes whether generation happens, nothing else about how trickplay works.
An optional path-substring check exists as a defense-in-depth fallback, in case an item somehow reaches the plugin without ExtraType set. It's off by default from being the primary check and shouldn't normally trigger.
A separate, opt-in scheduled task can clean up trickplay data that was already generated for extras before this plugin was installed.
Available from the plugin's page in the Jellyfin dashboard:
- Scope: turn filtering on/off separately for movies and episodes.
- Exclude by extra type: individually toggle trailers, behind-the-scenes, deleted scenes, interviews, scenes, samples, shorts, featurettes, clips, and unknown/other extras. (Theme songs and theme videos are always excluded and aren't shown here.)
- Advanced: enable/disable the path-substring fallback check.
Verified against Jellyfin 10.11.x. The plugin checks the running server's version at startup; if it doesn't recognize the version, filtering is disabled and a warning is logged, so Jellyfin's default trickplay behavior is used instead of the plugin silently doing something unverified.
- Build the plugin or download a release build.
- Copy the plugin folder into your Jellyfin
pluginsdirectory. - Restart the Jellyfin server.
- Configure it from Dashboard → Plugins → Trickplay Filter.
