
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
GPU加速的视频预览缩略图生成工具,适用于Plex、Emby和Jellyfin。仅提供Web UI——无命令行界面。
此前名为Plex Generate Previews,镜像地址为
stevezzau/plex_generate_vid_previews。该镜像将持续同步更新至2026年10月29日;之后,仅通过本仓库(stevezzau/media_preview_generator)发布。建议适时将您的compose配置更新为新名称——设置和卷挂载可无缝迁移。
不同媒体服务器的内置预览生成功能存在不足:
本工具可在您选择的设备上独立于媒体服务器运行预览生成,利用所有可用GPU,并行处理文件。当多个服务器包含相同文件时,FFmpeg仅运行一次——结果将以各服务器预期格式输出。
支持同时指向Plex、Emby、Jellyfin(任意组合、任意数量),单次生成运行即可为各服务器写入正确的输出格式(Plex BIF文件包、Emby侧载BIF、Jellyfin trickplay瓦片)。
支持Radarr/Sonarr/Tdarr/FileFlows webhook、Plex直接集成(需Plex Pass)、最近添加内容轮询、定时任务与间隔调度——所有触发方式共享一个通用入站URL,自动检测来源。5步退避重试机制(30秒→2分钟→5分钟→15分钟→60分钟)可处理服务器尚未索引的文件。基于源的去重机制在文件替换时(如Sonarr/Radarr质量升级)自动重新运行,文件未变更时则跳过。
支持NVIDIA、AMD、Intel GPU——可配置每GPU工作进程数和FFmpeg线程数,当GPU编解码失败时自动使用CPU重试,支持HDR/杜比视界色调映射(包括通过libplacebo支持Profile 5)。各服务器的预览就绪状态面板可审计影响预览显示的所有标志,并提供一键切换和破坏性操作的类型确认。
bashdocker run -d \ --name media-preview-generator \ --restart unless-stopped \ -p 8080:8080 \ --device /dev/dri:/dev/dri \ -e PUID=1000 \ -e PGID=1000 \ -v /path/to/media:/media:ro \ -v /path/to/plex/config:/plex:rw \ -v /path/to/app/config:/config:rw \ -v /etc/localtime:/etc/localtime:ro \ stevezzau/media_preview_generator:latest
将/path/to/media、/path/to/plex/config和/path/to/app/config替换为实际路径。
时区设置:挂载
/etc/localtime可确保日志时间戳和计划任务使用本地时间。也可使用-e TZ=America/New_York(替换为您的时区)。
然后打开http://YOUR_IP:8080,从容器日志中获取认证令牌,完成设置向导。所有设置(Plex连接、GPU配置、处理选项)均在Web UI的设置页面中配置。
| 标签 | 来源 | 用途 |
|---|---|---|
:latest | 最新GitHub发布版 | 推荐。稳定版本。 |
:X.Y.Z(版本号) | 特定发布版(如:3.7.5) | 固定到已知稳定版本 |
:dev | dev分支的每次推送 | 前沿版本——可能不稳定 |
版本历史和每个版本的发布说明见https://github.com/stevezau/media_preview_generator/releases%E3%80%82
| 容器路径 | 用途 | 权限 |
|---|---|---|
/media | 媒体文件 | ro(只读) |
/plex | Plex应用数据(BIF文件存储位置) | rw |
/config | 应用设置、计划任务、任务历史 | rw |
yamlservices: plex-previews: image: stevezzau/media_preview_generator:latest container_name: media-preview-generator restart: unless-stopped ports: - "8080:8080" # Intel / AMD GPU (VAAPI) devices: - /dev/dri:/dev/dri # NVIDIA: 移除上方'devices',取消下方注释 # deploy: # resources: # reservations: # devices: # - driver: nvidia # count: all # capabilities: [gpu] environment: # NVIDIA专用(使用NVIDIA时取消注释): # - NVIDIA_VISIBLE_DEVICES=all # 使用'all'以注入NVIDIA Vulkan驱动;'graphics'是 # 杜比视界Profile 5 libplacebo色调映射所必需的。 # - NVIDIA_DRIVER_CAPABILITIES=all - PUID=1000 - PGID=1000 volumes: - /path/to/your/media:/media:ro - /path/to/plex/config:/plex:rw - /path/to/app/config:/config:rw - /etc/localtime:/etc/localtime:ro
在Web UI设置中将GPU工作进程数设为0,根据需要配置CPU工作进程数。
yamlservices: plex-previews: image: stevezzau/media_preview_generator:latest container_name: media-preview-generator restart: unless-stopped ports: - "8080:8080" environment: - PUID=1000 - PGID=1000 volumes: - /path/to/your/media:/media:ro - /path/to/plex/config:/plex:rw - /path/to/app/config:/config:rw - /etc/localtime:/etc/localtime:ro
| GPU类型 | 平台 | 加速技术 | Docker参数 |
|---|---|---|---|
| NVIDIA | Linux | CUDA/NVENC | --gpus all |
| AMD | Linux | VAAPI | --device /dev/dri |
| Intel | Linux | QuickSync/VAAPI | --device /dev/dri |
| NVIDIA | Windows | CUDA | 仅原生运行 |
| AMD/Intel | Windows | D3D11VA | 仅原生运行 |
| Apple Silicon | macOS | VideoToolbox | 仅原生运行 |
"仅原生运行" 指GPU加速需在对应平台上从源码运行应用。Windows(WSL2)和macOS上的Docker运行Linux虚拟机——Docker内部无法使用D3D11VA和VideoToolbox。这些平台上的Docker将仅使用CPU处理。Apple Silicon用户可受益于原生ARM64 Docker镜像(无Rosetta开销)。
前提条件:安装NVIDIA驱动和NVIDIA Container Toolkit。
bashdocker run -d \ --gpus all \ -e NVIDIA_VISIBLE_DEVICES=all \ -e NVIDIA_DRIVER_CAPABILITIES=all \ -e PUID=1000 \ -e PGID=1000 \ -p 8080:8080 \ -v /path/to/media:/media:ro \ -v /path/to/plex/config:/plex:rw \ -v /path/to/app/config:/config:rw \ -v /etc/localtime:/etc/localtime:ro \ stevezzau/media_preview_generator:latest
CPU fallback为自动机制。若文件在GPU上处理失败(不支持的编解码器、驱动崩溃等),同一工作进程会自动在CPU上重试,仪表盘将显示黄色"CPU fallback"标记。无需单独配置CPU工作池——仅当有大量内容无法在GPU上解码,且希望这些文件直接由专用CPU工作进程处理时,才需将CPU工作进程数设为大于0的值。
所有应用设置(Plex、GPU、处理选项)均在Web UI设置页面中配置。/config目录下的settings.json为唯一配置源。仅以下基础架构环境变量持续有效:
| 变量 | 默认值 | 描述 |
|---|---|---|
CONFIG_DIR | /config | 配置目录路径 |
WEB_PORT | 8080 | Web服务器端口 |
PUID | 1000 | 用户ID(Unraid:99) |
PGID | 1000 | 组ID(Unraid:100) |
TZ | 主机时区 | 时区(如America/New_York) |
CORS_ORIGINS | * | CORS允许的源 |
HTTPS | false | 启用HTTPS |
DEV_RELOAD | false | 启用开发模式重载 |
应用级环境变量(如PLEX_URL、PLEX_TOKEN、CPU_THREADS等)仅在首次启动时作为初始值,之后会迁移至settings.json,settings.json将成为配置源。
在Community Applications中搜索"media-preview-generator",或手动运行:
bashdocker run -d \ --name media-preview-generator \ --restart unless-stopped \ -p 8080:8080 \ --device /dev/dri:/dev/dri \ -e PUID=99 \ -e PGID=100 \ -v /mnt/user/data/plex:/data/plex:ro \ -v "/mnt/cache/appdata/plex/Library/Application Support/Plex Media Server":/plex:rw \ -v /mnt/user/appdata/media-preview-generator:/config:rw \ -v /etc/localtime:/etc/localtime:ro \ stevezzau/media_preview_generator:latest
在Web UI的设置中,按GPU配置GPU和CPU工作进程数。
init: true**到docker-compose文件——容器内部管理自身进程,init: true会导致冲突。localhost。使用http://192.168.1.100:32400,而非http://localhost:32400。完整文档见GitHub:
MIT许可证。详见https://github.com/stevezau/media_preview_generator/blob/main/LICENSE%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务