Skip to content

Kuschel-code/JellyfinUpscalerPlugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

437 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฎ Jellyfin AI Upscaler Plugin v1.5.0.2

License: MIT Jellyfin Version Docker Hub Docker Image Project Website

Caution

๐Ÿงช TEST PHASE - v1.5.0.2

This is an EXPERIMENTAL version with the new Docker AI microservice architecture! AI upscaling now runs in a separate Docker container instead of directly in Jellyfin.

๐Ÿณ Docker Image: kuscheltier/jellyfin-ai-upscaler

Please report bugs: GitHub Issues


๐Ÿณ New Architecture: Docker AI Service

Why Docker? (Problem with v1.4.9.x)

Jellyfin's plugin system tries to load ALL .dll files as .NET assemblies. Native C++ libraries (ONNX Runtime, CUDA, OpenCV) caused:

System.BadImageFormatException: Bad IL format
Failed to load assembly "onnxruntime_providers_shared.dll"

Result: Plugin was disabled, no AI upscaling possible.

The Solution: Microservice Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Jellyfin Server                         โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  AI Upscaler Plugin v1.5.0.0       โ”‚  โ”‚
โ”‚  โ”‚  โœ… Only ~1.6 MB (instead of 417MB)โ”‚  โ”‚
โ”‚  โ”‚  โœ… No native DLLs                 โ”‚  โ”‚
โ”‚  โ”‚  โœ… Sends frames via HTTP          โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                  โ”‚ HTTP POST /upscale
                  โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  AI Upscaler Docker Container            โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  Python + FastAPI + OpenCV DNN     โ”‚  โ”‚
โ”‚  โ”‚  โœ… CUDA / GPU Acceleration        โ”‚  โ”‚
โ”‚  โ”‚  โœ… FSRCNN, ESPCN, LapSRN, EDSR    โ”‚  โ”‚
โ”‚  โ”‚  โœ… Web UI for Model Management    โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Benefits

Feature Old (v1.4.9.x) New (v1.5.0.0)
ZIP Size 417 MB ~1.6 MB
Native DLLs In plugin โ†’ Crashes In Docker โ†’ Isolated
GPU Support Issues with Jellyfin Full CUDA support
Updates Rebuild plugin Pull Docker image

๐Ÿ“ฅ Installation (2 Steps)

Step 1: Start Docker AI Service

Option A - Docker Hub (easiest):

docker run -d --name jellyfin-ai-upscaler \
  -p 5000:5000 \
  -v ai-models:/app/models \
  kuscheltier/jellyfin-ai-upscaler:latest

Option B - Build locally:

cd docker-ai-service
docker-compose up -d --build

Open http://YOUR_SERVER_IP:5000 to see the Web UI.

Step 2: Install Jellyfin Plugin

  1. Open Jellyfin Dashboard โ†’ Plugins โ†’ Repositories โ†’ Add
  2. Enter URL:
    https://raw.githubusercontent.com/Kuschel-code/JellyfinUpscalerPlugin/main/manifest.json
    
  3. Go to Catalog, find "AI Upscaler", install v1.5.0.0
  4. Restart Jellyfin
  5. In Plugin Settings: Set AI Service URL to http://YOUR_SERVER_IP:5000

๐Ÿš€ Features

  • Docker Microservice: AI runs isolated in a container (no DLL conflicts!)
  • Multiple AI Models: FSRCNN, ESPCN, LapSRN, EDSR (2x, 3x, 4x upscaling)
  • Web UI: Manage models at http://YOUR_SERVER_IP:5000
  • Hardware Detection: Automatic GPU/CPU detection
  • Dashboard: Job monitoring in Jellyfin sidebar
  • FFmpeg Integration: Automatic filter injection

โš™๏ธ Configuration

After installation, find settings under Dashboard โ†’ Plugins โ†’ AI Upscaler Plugin.

Setting Description
AI Service URL URL to Docker container (e.g., http://nas:5000)
Enable Plugin Global switch
Scaling Factor 2x, 3x, or 4x
Quality Level low / medium / high

๐Ÿ“‹ Changelog

v1.5.0.1 (Hotfix)

  • ๐Ÿ”ง Fixed #34: Plugin initialization error (HardwareBenchmarkService DI)
  • ๐Ÿ”ง Fixed #33: Checksum mismatch during installation
  • ๐Ÿ”ท Added #32: Intel GPU/iGPU support via OpenVINO (Dockerfile.intel)

v1.5.0.0 (TEST PHASE)

  • ๐Ÿณ Docker Microservice Architecture: AI processing in separate container
  • ๐Ÿ“ฆ ~1.6 MB instead of 417 MB: No more native DLLs in plugin
  • ๐Ÿ”ง OpenCV DNN Models: FSRCNN, ESPCN, LapSRN, EDSR from public sources
  • ๐ŸŒ Web UI: Model management at http://localhost:5000
  • โœ… Fixed version format: 4-part version for Jellyfin compatibility

v1.4.9.4

  • Settings Page Fix
  • Cross-Platform Support
  • Complete DI Registration

๐Ÿ”ง Troubleshooting

Plugin shows "Not Supported"

  1. Make sure you uninstalled old versions (1.4.9.x)
  2. Delete old plugin folder from Jellyfin plugins directory
  3. Restart Jellyfin
  4. Install v1.5.0.0 fresh from repository

Plugin won't start

# Check Docker container
docker ps --filter name=jellyfin-ai-upscaler

# View logs
docker logs jellyfin-ai-upscaler

Upscaling not working

  1. Check if Docker is running: curl http://YOUR_IP:5000/status
  2. Check Plugin Settings: AI Service URL correct?
  3. Check if model is loaded: http://YOUR_IP:5000 โ†’ Web UI

๐Ÿ“– Support


๐Ÿ“œ License

MIT License - See LICENSE for details.