Skip to content

Latest commit

 

History

220 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jellyfin-plugin-transcode-guard icon

Jellyfin Transcode Guard Plugin

Stable release version Minimum Jellyfin version Code coverage percentage Open issues License Dependencies status

A Jellyfin plugin that intelligently nags users when they're transcoding due to unsupported formats or codecs, while allowing bitrate-based transcoding to pass through without harassment.

Transcode Guard playback settings and trigger reasons in the Jellyfin dashboard

Playback nag configuration and trigger reason selection

Transcode Guard browser install warning settings in the Jellyfin dashboard

The browser install warning, its install link, and auto-close timeout

The browser install warning dialog over a transcoding video in Jellyfin Web

What a Jellyfin Web viewer sees when their browser forces a transcode

Transcode Guard login nag settings in the Jellyfin dashboard

Login nag threshold, time window, and message

Transcode Guard transcode limit settings, user exclusions, and live session monitor in the Jellyfin dashboard

The transcode limit, user exclusions, and the live session monitor

Transcode Guard simultaneous transcode settings with a global maximum and per-user maximums in the Jellyfin dashboard

How many transcodes each user can run at once, with per-user overrides

Transcode Guard GPU resource guard settings in the Jellyfin dashboard

GPU resource guard settings

Transcode Guard paused transcode reaper settings in the Jellyfin dashboard

The paused transcode reaper, its warning, and its own exclusion list

What It Does

  • Sends a playback nag when Jellyfin reports selected TranscodeReasons.
  • Ignores bitrate-only transcodes, so users lowering quality for bandwidth do not get warned.
  • Can turn the playback nag, GPU refusals and both transcode limits' blocks into a full warning with an install link for Jellyfin Web browser sessions (needs the JavaScript Injector plugin); every other client keeps the normal message.
  • Can exclude Live TV channel streams from playback nags and login nag history.
  • Can send a login nag when a user keeps hitting bad transcodes over the last week or month.
  • Can refuse a user's next transcode outright once that same count passes a second, higher limit, so heavy transcoders are warned before they are stopped.
  • Can cap how many videos each user transcodes at the same time, with a global maximum and per-user maximums that override it.
  • Lets you exclude users from all nags.
  • Includes a live session monitor in the plugin settings page.
  • Can broadcast an optional Message of the Day to users at login, with its own user exclusions and client filters.
  • Can refuse an NVIDIA hardware transcode before FFmpeg starts when that job's conservative VRAM budget will not fit.
  • Can stop a transcode that has been left paused past a configurable timeout, so its FFmpeg process stops holding VRAM, an encoder session, and its output files for a viewer who is not coming back.

See here for all FEATURES.md.

Installation

Note

Migrating from Transcode Nag: run both until the config matches, then uninstall the old one.

Plugin Repository

  1. Go to Dashboard → Plugins → Repositories
  2. Add https://raw.githubusercontent.com/voc0der/jellyfin-plugin-transcode-guard/main/manifest.json
  3. Install Transcode Guard from Catalog
  4. Restart Jellyfin

Note

Full repository of this author's plugins: voc0der/jellyfin-plugins.

Manual

  1. Download the latest ZIP from the Releases page
  2. Extract it into your Jellyfin plugins directory:
    • Linux: /var/lib/jellyfin/plugins/
    • Windows: %AppData%\Jellyfin\Server\plugins\
    • Docker: /config/plugins/
  3. Restart Jellyfin

Build from Source

dotnet build --configuration Release

Copy bin/Release/net10.0/Jellyfin.Plugin.TranscodeGuard.dll into a versioned plugin folder, then restart Jellyfin.

Configuration

Open Dashboard → Plugins → Transcode Guard.

About

Gracefully control transcoding limitations

Resources

Contributing

Stars

24 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages