Files
openclaw-config/workspace-storage/skills/jellyfin-nfo-builder/SKILL.md
T
2026-07-14 16:36:24 +08:00

2.2 KiB

name, description
name description
jellyfin-nfo-builder 为剧集整理统一文件名、生成缺失的 Jellyfin .nfo 剧集元数据

Jellyfin NFO 剧集元数据补齐技能

为剧集目录整理统一文件名,并为缺失的集数生成标准的 Jellyfin .nfo 元数据文件。

适用场景

  • 手动清理/重命名剧集文件后,部分集数的 .nfo 元数据缺失
  • 从不同来源合并剧集(高质量版 + 补全集),需要统一格式
  • 批量标准化剧集视频文件和元数据

前置条件

  • 视频文件已整理到一个目录
  • 有一条完整的剧集(有 .nfo 示例可参照格式)
  • 了解剧集的总集数
  • shell 工作目录为剧集所在目录

步骤

1. 检查现有状态

列出目录下所有视频文件和 .nfo 文件:

ls -lh *.mp4 *.nfo 2>/dev/null

确定:

  • 总集数
  • 已有哪些集的 .nfo
  • 哪些集缺失 .nfo
  • 文件名是否统一

2. 读取一个已有 .nfo 作为模板

cat "剧集名 第xx集.nfo"

标准 Jellyfin 剧集 nfo 格式:

<?xml version="1.0" encoding="UTF-8"?>
<episodedetails>
  <title>第N集</title>
  <season>1</season>
  <episode>N</episode>
  <plot>剧集名 第N集</plot>
  <runtime>233</runtime>
  <aired>2026-01-01</aired>
</episodedetails>

3. 生成缺失的 .nfo

cd /path/to/剧集目录
for i in 4 5 8 9 10 11; do
  cat > "剧集名 第${i}集.nfo" << EOF
<?xml version="1.0" encoding="UTF-8"?>
<episodedetails>
  <title>第${i}集</title>
  <season>1</season>
  <episode>${i}</episode>
  <plot>剧集名 第${i}集</plot>
  <runtime>233</runtime>
  <aired>2026-01-01</aired>
</episodedetails>
EOF
done

runtime(时长秒数)和 aired(首播日期)可以参照已有文件填写,或设为默认值。

4. 检查结果

ls -lh *.mp4 *.nfo 2>/dev/null

确认每一集都有对应的视频文件和 .nfo 文件。

注意事项

  • Jellyfin 依赖文件名排序,统一格式为 剧集名 第XX集.mp4(两位数字,按字母排序正确)
  • .nfo 中的 <episode> 标签必须与集数一致
  • 如果整个剧集目录还没有 tvshow.nfoseason.nfo,也需要一并创建
  • 视频文件命名应与 .nfo 文件名完全一致(仅扩展名不同)