
为Plex媒体服务器提供GPU加速的视频预览缩略图生成功能。
问题:Plex内置的预览生成速度极慢。
解决方案:本工具利用GPU加速和并行处理技术,将预览生成速度提升5-10倍。
| 特性 | 描述 |
|---|---|
| 多GPU支持 | 兼容NVIDIA、AMD、Intel及Windows GPU |
| 并行处理 | 可配置GPU和CPU工作线程数 |
| GPU到CPU fallback | 可选CPU工作线程,用于GPU解码失败时的 fallback |
| 硬件加速 | 支持CUDA、VAAPI、D3D11VA、VideoToolbox |
| 库过滤 | 可指定处理特定Plex媒体库 |
| 质量控制 | 可调节缩略图质量(1-10) |
| Docker就绪 | 预构建的GPU支持镜像 |
| Web控制台 | 管理任务、调度和状态 |
| 自动化调度 | 支持Cron和基于时间间隔的自动化 |
| Radarr/Sonarr集成 | Webhook集成,实现导入时自动处理 |
bashdocker run -d \ --name plex-generate-previews \ --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 \ stevezzau/plex_generate_vid_previews:latest
然后打开 http://你的IP:8080,从容器日志中获取认证令牌,完成设置向导。
bashdocker logs plex-generate-previews | grep "Token:"
或通过 -e WEB_AUTH_TOKEN=你的密码 设置固定令牌。
| 容器路径 | 用途 | 权限 |
|---|---|---|
/media | 媒体文件 | ro(只读) |
/plex | Plex应用数据(BIF文件存储位置) | rw |
/config | 应用设置、调度任务、任务历史 | rw |
yamlservices: plex-previews: image: stevezzau/plex_generate_vid_previews:latest container_name: plex-generate-previews 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 # - NVIDIA_DRIVER_CAPABILITIES=compute,video,utility - PUID=1000 - PGID=1000 volumes: - /path/to/your/media:/media:ro - /path/to/plex/config:/plex:rw - /path/to/app/config:/config:rw
yamlservices: plex-previews: image: stevezzau/plex_generate_vid_previews:latest container_name: plex-generate-previews restart: unless-stopped ports: - "8080:8080" environment: - GPU_THREADS=0 - CPU_THREADS=8 - PUID=1000 - PGID=1000 volumes: - /path/to/your/media:/media:ro - /path/to/plex/config:/plex:rw - /path/to/app/config:/config:rw
| GPU类型 | 平台 | 加速方式 | Docker标志 |
|---|---|---|---|
| NVIDIA | Linux | CUDA/NVENC | --gpus all |
| AMD | Linux | VAAPI | --device /dev/dri |
| Intel | Linux | QuickSync/VAAPI | --device /dev/dri |
| 所有类型 | Windows | D3D11VA | 仅原生支持 |
| Apple Silicon | macOS | VideoToolbox | 仅原生支持 |
前提条件:安装NVIDIA驱动和NVIDIA Container Toolkit。
bashdocker run -d \ --gpus all \ -e NVIDIA_VISIBLE_DEVICES=all \ -e NVIDIA_DRIVER_CAPABILITIES=compute,video,utility \ -p 8080:8080 \ -v /path/to/media:/media:ro \ -v /path/to/plex/config:/plex:rw \ -v /path/to/app/config:/config:rw \ stevezzau/plex_generate_vid_previews:latest
将CPU工作线程设为0,CPU Fallback工作线程设为1(或更高),可使主要处理在GPU上进行,同时允许CPU重试不支持的编解码器。
所有设置可在Web界面(设置页面)配置。环境变量为可选覆盖项。
| 变量 | 默认值 | 描述 |
|---|---|---|
PLEX_URL | (向导设置) | Plex服务器URL(例如 http://192.168.1.100:32400) |
PLEX_TOKEN | (向导设置) | Plex认证令牌(通过OAuth向导自动设置) |
PLEX_CONFIG_FOLDER | (向导设置) | Plex配置文件夹路径 |
GPU_THREADS | 1 | GPU工作线程数(0-32) |
CPU_THREADS | 1 | CPU工作线程数(0-32) |
FALLBACK_CPU_THREADS | 0 | GPU失败时的CPU fallback工作线程数(0-32) |
THUMBNAIL_QUALITY | 4 | 预览质量1-10(2=最高) |
PLEX_BIF_FRAME_INTERVAL | 5 | 预览图像间隔秒数(1-60) |
PLEX_LIBRARIES | 所有 | 逗号分隔的库名称或ID |
PUID | 1000 | 用户ID(Unraid: 99) |
PGID | 1000 | 组ID(Unraid: 100) |
WEB_PORT | 8080 | Web服务器端口 |
WEB_AUTH_TOKEN | 自动生成 | 固定认证令牌 |
LOG_LEVEL | INFO | 日志级别:DEBUG、INFO、WARNING、ERROR |
TMP_FOLDER | 系统默认 | 处理用临时文件夹 |
PLEX_TIMEOUT | 60 | Plex API超时秒数 |
在Community Applications中搜索"plex-generate-previews",或手动运行:
bashdocker run -d \ --name plex-generate-previews \ --restart unless-stopped \ -p 8080:8080 \ --device /dev/dri:/dev/dri \ -e WEB_AUTH_TOKEN=我的密码 \ -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/plex-generate-previews:/config:rw \ stevezzau/plex_generate_vid_previews:latest
| GPU线程 | CPU线程 | 适用场景 |
|---|---|---|
| 1 | 1 | 默认配置(适用于所有硬件) |
| 4 | 2 | 平衡配置(中端系统) |
| 8 | 4 | 高端系统 |
| 0 | 8 | 仅CPU模式 |
可在Web界面的设置中配置。
init: true:此容器使用s6-overlay,init: true会导致故障。localhost,请使用http://192.168.1.100:32400,而非http://localhost:32400。完整文档请参见GitHub:
MIT许可证。详情参见https://github.com/stevezau/plex_generate_vid_previews/blob/main/LICENSE%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务