Administrator
发布于 2025-12-08 / 7 阅读
0

UNRAID Docker中Plex播放ASS字幕失败并提示TPU错误的解决方案

Plex 放到 UNRAID 的 Docker 上之后,播带 ASS 字幕的片子直接报错:


TPU: hardware transcoding: Failed to download sub-stream to temporary file

视频打不开。换 SRT 字幕就正常,但走的是直接串流(没硬解)。同一部片子放到群晖的 Plex 套件上,ASS 字幕硬解正常。

结论:镜像的锅

官方镜像 plexinc/pms-docker 对 Intel 核显驱动支持不完整,处理 ASS 字幕烧录(burn-in)时跟硬解引擎配合有问题。不是配置错了,是镜像本身就这样。

linuxserver/plex——LSIO 的镜像对 Intel QuickSync 的 user map 和驱动路径处理得更仔细:


# 备份数据
cp -r /mnt/user/appdata/plex /mnt/user/appdata/plex-backup

# 停止原容器,删掉

# 用 linuxserver/plex 重建,关键参数:
# - /dev/dri:/dev/dri  (核显直通)
# - PUID=99, PGID=100  (UNRAID 标准权限)

重建之后,ASS 字幕正常烧录,硬解也回来了。

顺便说一句

这个 TPU 错误跟 TPU 硬件没关系——错误信息里的 "TPU" 是 Plex 内部 transcoder 的一个模块名。查了不少帖子都有这个误解。UNRAID 上跑 Plex,用 linuxserver 的镜像省心,官方镜像的坑比想象的多。