media-preview-generator

media-preview-generator

Application Docker from stevezau's Repository

Vue d'ensemble

Generate video preview thumbnails for Plex, Emby and Jellyfin with GPU acceleration support. One FFmpeg pass writes the right format for each server (Plex BIF bundle, Emby sidecar BIF, Jellyfin trickplay tiles).

This template seeds a Plex connection below; add Emby/Jellyfin servers (any mix) from the web UI after first start.

Features:

  • Web UI with setup wizard for easy configuration
  • Plex OAuth authentication (no manual token needed)
  • GPU acceleration (NVIDIA, Intel QuickSync, AMD)
  • Background processing with job queue
  • Real-time progress display
  • Scheduled generation via cron expressions
  • Browser notifications when jobs complete

The web interface is available at http://[IP]:8080 after starting the container.
A setup wizard will guide you through connecting to your Plex server.

IMPORTANT - NETWORKING:
If your Plex container uses a custom network (like br1 or macvlan), this container
must use the SAME network to communicate with Plex. Change the Network Type setting
to match your Plex container's network.

For Intel QuickSync, /dev/dri is passed through automatically (see GPU Device below).

For NVIDIA GPU support, you must:

  1. Install NVIDIA driver and nvidia-container-toolkit on Unraid
  2. Add --runtime=nvidia to Extra Parameters
  3. Or use the Nvidia-Driver and nvidia-container-toolkit plugins from Community Applications
  4. Add NVIDIA_DRIVER_CAPABILITIES=all to the environment variables below (the 'graphics' capability is required for Dolby Vision Profile 5 thumbnails; 'compute,video,utility' alone only covers NVDEC and nvidia-smi).

Arguments d'exécution

Interface utilisateur Web
http://[IP]:[PORT:8080]/
Réseau
bridge
Coquille
bash
Privilégié
false
Paramètres supplémentaires
--restart=unless-stopped

Configuration du modèle

Web UI PortPorttcp

Port for the web interface

Cible
8080
Défaut
8080
Valeur
8080
Plex URLVariable

URL to your Plex Media Server (use IP address, not localhost)

Cible
PLEX_URL
Défaut
http://192.168.1.100:32400
Plex TokenVariable

Plex authentication token. Find it at: https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/ (or use OAuth via Web UI)

Cible
PLEX_TOKEN
Media PathPathro

Path to your media files on Unraid (read-only)

Cible
/media
Défaut
/mnt/user/media
Valeur
/mnt/user/media
Plex Data PathPathrw

Path to Plex application data where previews will be stored

Cible
/plex
Défaut
/mnt/user/appdata/plex/Library/Application Support/Plex Media Server
Valeur
/mnt/user/appdata/plex/Library/Application Support/Plex Media Server
Config PathPathrw

Path to store configuration, schedules, and job history

Cible
/config
Défaut
/mnt/user/appdata/media-preview-generator
Valeur
/mnt/user/appdata/media-preview-generator
Local Videos PathVariable

How this container sees media (usually /media)

Cible
PLEX_LOCAL_VIDEOS_PATH_MAPPING
Défaut
/media
Valeur
/media
Plex Videos PathVariable

How Plex sees media (if different from this container's path)

Cible
PLEX_VIDEOS_PATH_MAPPING
Frame Interval (seconds)Variable

Seconds between each preview frame (default: 5). Migrated to settings.json on first start.

Cible
PLEX_BIF_FRAME_INTERVAL
Défaut
5
Valeur
5
Thumbnail QualityVariable

Preview image quality 1-10, higher = better quality but larger files (default: 4). Migrated to settings.json on first start.

Cible
THUMBNAIL_QUALITY
Défaut
4
Valeur
4
CPU ThreadsVariable

Number of parallel CPU workers for fallback (default: 1). Migrated to settings.json on first start. GPU config (enable/disable, workers per GPU) is in Web UI Settings.

Cible
CPU_THREADS
Défaut
1
Valeur
1
Auth Token OverrideVariable

Optional: Override the authentication token. If empty, use the token set during the setup wizard (or auto-generated if skipped)

Cible
WEB_AUTH_TOKEN
Web PortVariable

Internal port for web server (usually matches Web UI Port)

Cible
WEB_PORT
Défaut
8080
Valeur
8080
PUIDVariable

User ID for file permissions (99 = nobody on Unraid)

Défaut
99
Valeur
99
PGIDVariable

Group ID for file permissions (100 = users on Unraid)

Défaut
100
Valeur
100
UMASKVariable

File permission mask

Défaut
022
Valeur
022
Intel GPU DeviceDevice

Pass through Intel GPU for QuickSync acceleration

Cible
/dev/dri
Défaut
/dev/dri
Valeur
/dev/dri
NVIDIA Driver CapabilitiesVariable

NVIDIA driver capabilities to inject into the container. Use 'all' (recommended) so the 'graphics' capability is included — this is required for Dolby Vision Profile 5 thumbnails (libplacebo Vulkan tone-mapping). 'compute,video,utility' alone only covers CUDA/NVDEC and will NOT give you DV5 support. Only applied if you also set --runtime=nvidia in Extra Parameters.

Cible
NVIDIA_DRIVER_CAPABILITIES
Défaut
all
Valeur
all
NVIDIA Visible DevicesVariable

Which NVIDIA GPUs to expose (e.g. 'all', or a specific UUID). Only applied if you also set --runtime=nvidia in Extra Parameters.

Cible
NVIDIA_VISIBLE_DEVICES
Log LevelVariable

Logging level: DEBUG, INFO, WARNING, ERROR

Cible
LOG_LEVEL
Défaut
INFO
Valeur
INFO

Détails

Référentiel
stevezzau/media_preview_generator:latest
Dernière mise à jour2026-05-31
Première vue2026-05-27

Exécutez media-preview-generator sur Unraid.

media-preview-generator est listé dans Community Apps pour Unraid OS. Explorez Unraid pour créer un serveur domestique flexible, un NAS ou un laboratoire domestique.