--- name: "jellyfin-nfo-builder" description: "为剧集整理统一文件名、生成缺失的 Jellyfin .nfo 剧集元数据" status: proposal version: "v1" date: "2026-07-01T23:52:24.406Z" --- # Jellyfin NFO 剧集元数据补齐技能 为剧集目录整理统一文件名,并为缺失的集数生成标准的 Jellyfin `.nfo` 元数据文件。 ## 适用场景 - 手动清理/重命名剧集文件后,部分集数的 `.nfo` 元数据缺失 - 从不同来源合并剧集(高质量版 + 补全集),需要统一格式 - 批量标准化剧集视频文件和元数据 ## 前置条件 - 视频文件已整理到一个目录 - 有一条完整的剧集(有 `.nfo` 示例可参照格式) - 了解剧集的总集数 - shell 工作目录为剧集所在目录 ## 步骤 ### 1. 检查现有状态 列出目录下所有视频文件和 `.nfo` 文件: ```bash ls -lh *.mp4 *.nfo 2>/dev/null ``` 确定: - 总集数 - 已有哪些集的 `.nfo` - 哪些集缺失 `.nfo` - 文件名是否统一 ### 2. 读取一个已有 `.nfo` 作为模板 ```bash cat "剧集名 第xx集.nfo" ``` 标准 Jellyfin 剧集 nfo 格式: ```xml 第N集 1 N 剧集名 第N集 233 2026-01-01 ``` ### 3. 生成缺失的 `.nfo` ```bash cd /path/to/剧集目录 for i in 4 5 8 9 10 11; do cat > "剧集名 第${i}集.nfo" << EOF 第${i}集 1 ${i} 剧集名 第${i}集 233 2026-01-01 EOF done ``` > `runtime`(时长秒数)和 `aired`(首播日期)可以参照已有文件填写,或设为默认值。 ### 4. 检查结果 ```bash ls -lh *.mp4 *.nfo 2>/dev/null ``` 确认每一集都有对应的视频文件和 `.nfo` 文件。 ## 注意事项 - Jellyfin 依赖文件名排序,统一格式为 `剧集名 第XX集.mp4`(两位数字,按字母排序正确) - `.nfo` 中的 `` 标签必须与集数一致 - 如果整个剧集目录还没有 `tvshow.nfo` 和 `season.nfo`,也需要一并创建 - 视频文件命名应与 `.nfo` 文件名完全一致(仅扩展名不同)