media-preview-generator

media-preview-generator

Docker 应用程序 from stevezau's Repository

概述

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).

运行时参数

网络用户界面
http://[IP]:[PORT:8080]/
网络
bridge
外壳
bash
特权
false
额外参数
--restart=unless-stopped

模板配置

Web UI PortPorttcp

Port for the web interface

目标
8080
默认值
8080
价值
8080
Plex URLVariable

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

目标
PLEX_URL
默认值
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)

目标
PLEX_TOKEN
Media PathPathro

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

目标
/media
默认值
/mnt/user/media
价值
/mnt/user/media
Plex Data PathPathrw

Path to Plex application data where previews will be stored

目标
/plex
默认值
/mnt/user/appdata/plex/Library/Application Support/Plex Media Server
价值
/mnt/user/appdata/plex/Library/Application Support/Plex Media Server
Config PathPathrw

Path to store configuration, schedules, and job history

目标
/config
默认值
/mnt/user/appdata/media-preview-generator
价值
/mnt/user/appdata/media-preview-generator
Local Videos PathVariable

How this container sees media (usually /media)

目标
PLEX_LOCAL_VIDEOS_PATH_MAPPING
默认值
/media
价值
/media
Plex Videos PathVariable

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

目标
PLEX_VIDEOS_PATH_MAPPING
Frame Interval (seconds)Variable

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

目标
PLEX_BIF_FRAME_INTERVAL
默认值
5
价值
5
Thumbnail QualityVariable

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

目标
THUMBNAIL_QUALITY
默认值
4
价值
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.

目标
CPU_THREADS
默认值
1
价值
1
Auth Token OverrideVariable

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

目标
WEB_AUTH_TOKEN
Web PortVariable

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

目标
WEB_PORT
默认值
8080
价值
8080
PUIDVariable

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

默认值
99
价值
99
PGIDVariable

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

默认值
100
价值
100
UMASKVariable

File permission mask

默认值
022
价值
022
Intel GPU DeviceDevice

Pass through Intel GPU for QuickSync acceleration

目标
/dev/dri
默认值
/dev/dri
价值
/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.

目标
NVIDIA_DRIVER_CAPABILITIES
默认值
all
价值
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.

目标
NVIDIA_VISIBLE_DEVICES
Log LevelVariable

Logging level: DEBUG, INFO, WARNING, ERROR

目标
LOG_LEVEL
默认值
INFO
价值
INFO

详细信息

存储库
stevezzau/media_preview_generator:latest
最后更新2026-05-31
初见2026-05-27

在Unraid 上运行 media-preview-generator 。

media-preview-generator 已被列入Unraid OS 的社区应用程序。探索Unraid ,构建灵活的家庭服务器、NAS 或家庭实验室。