Media Guide

媒体整理指南

一套适用于 SMB 与 WebDAV,并可被 Vanto、Jellyfin 和 Kodi 稳定识别的保守媒体结构。

最近更新:2026 年 8 月 8 日适用于 Vanto 当前版本

快速规则

  • 电影使用 片名 (年份) 文件夹,视频、NFO 与字幕使用相同主文件名。
  • 剧集使用 剧名 (年份)/Season 01/剧名 - S01E01
  • NFO 不是扫描或播放的前置条件;没有 NFO 时,Vanto 会根据目录名和文件名建立媒体结构。
  • 图片放在其描述对象的约定目录;仅在没有可用图片时,Vanto 才会生成视频帧封面。
  • 修改 NFO、图片或字幕后,在 Vanto 首页刷新当前来源。
推荐原则

目录结构表达“这是什么媒体”,NFO 表达“如何展示”,图片和字幕是独立的 sidecar 文件。不要用 NFO 改写季号、集号或目录关系。

无 NFO 的最小结构

Media/
├── Movies/
│   └── Arrival (2016)/
│       └── Arrival (2016).mkv
└── TV Shows/
    └── Example Show (2026)/
        ├── Season 01/
        │   ├── Example Show - S01E01.mkv
        │   └── Example Show - S01E02.mkv
        └── Season 02/
            └── Example Show - S02E01.mkv

没有 NFO、图片或字幕也能入库。电影目录建议只保留一个主视频;花絮放入 Extras 子目录,避免被识别成正片。年份能显著降低同名影片匹配歧义。

完整电影示例

Movies/
└── Arrival (2016)/
    ├── Arrival (2016).mkv
    ├── Arrival (2016).nfo
    ├── poster.jpg
    ├── fanart.jpg
    └── Arrival (2016).zh-Hans.forced.srt

电影优先使用与视频同名的 NFO。Vanto 也能读取已有的 movie.nfo,但新建文件建议使用同名方式,让多个视频版本的归属保持明确。

<?xml version="1.0" encoding="UTF-8"?>
<movie>
  <title>降临</title>
  <originaltitle>Arrival</originaltitle>
  <year>2016</year>
  <plot>影片简介</plot>
  <genre>科幻</genre>
  <rating>7.9</rating>
  <uniqueid type="tmdb" default="true">329865</uniqueid>
  <actor>
    <name>Amy Adams</name>
    <role>Louise Banks</role>
    <thumb>amy-adams.jpg</thumb>
  </actor>
</movie>

完整剧集示例

TV Shows/
└── Example Show (2026)/
    ├── tvshow.nfo
    ├── poster.jpg
    ├── fanart.jpg
    ├── season01-poster.jpg
    ├── season01-fanart.jpg
    └── Season 01/
        ├── season.nfo
        ├── poster.jpg
        ├── fanart.jpg
        ├── Example Show - S01E01.mkv
        ├── Example Show - S01E01.nfo
        ├── Example Show - S01E01-thumb.jpg
        └── Example Show - S01E01.zh-Hans.forced.ass

这套结构同时保留两种季约定:

  • Jellyfin 与 Vanto:读取季目录中的 season.nfoposter.jpgfanart.jpg
  • Kodi:季名称与简介位于剧根目录的 tvshow.nfo,季图片位于剧根目录并命名为 season01-poster.jpgseason01-fanart.jpg

两套文件描述同一个季,内容不应冲突。

整部剧:tvshow.nfo

<?xml version="1.0" encoding="UTF-8"?>
<tvshow>
  <title>示例剧</title>
  <originaltitle>Example Show</originaltitle>
  <year>2026</year>
  <plot>整部剧简介</plot>
  <genre>剧情</genre>
  <uniqueid type="tvdb" default="true">123456</uniqueid>
  <namedseason number="1">第一季</namedseason>
  <seasonplot season="1">第一季简介</seasonplot>
</tvshow>

当前季:Season 01/season.nfo

<?xml version="1.0" encoding="UTF-8"?>
<season>
  <title>第一季</title>
  <seasonnumber>1</seasonnumber>
  <plot>第一季简介</plot>
</season>

单集:与视频同名的 NFO

<?xml version="1.0" encoding="UTF-8"?>
<episodedetails>
  <title>第一集</title>
  <showtitle>示例剧</showtitle>
  <season>1</season>
  <episode>1</episode>
  <aired>2026-01-01</aired>
  <plot>本集简介</plot>
</episodedetails>

图片命名

对象推荐文件位置
电影poster.jpgfanart.jpg电影目录
整部剧poster.jpgfanart.jpg剧根目录
季(Jellyfin / Vanto)poster.jpgfanart.jpgSeason 01 目录
季(Kodi)season01-poster.jpgseason01-fanart.jpg剧根目录
单集Example Show - S01E01-thumb.jpg单集视频目录

建议使用 JPG 或 PNG。NFO 中的相对图片文件名必须与真实文件精确一致。Vanto 不按相似文件名猜图,无法确认时宁愿不展示,以避免错误封面。

外挂字幕

字幕与视频放在同一目录,并使用完全相同的主文件名:

Arrival (2016).mkv
Arrival (2016).zh-Hans.srt
Arrival (2016).en.forced.ass
Arrival (2016).zh-Hant.vtt
  • 语言可使用 zh-Hanszh-Hantenja 等标识。
  • 可保留 forced 等常见用途后缀;是否启用仍由播放器中的字幕选择决定。
  • 文本字幕支持 SRT、ASS、SSA、VTT 与 SMI。
  • 外挂字幕不写入 NFO。NFO 描述媒体,字幕始终是绑定具体视频的独立文件。

在 Vanto 中编辑

iPhone、iPad 和 Mac 上的 SMB 与 WebDAV 详情页可通过“编辑信息”为没有 NFO 的条目创建 NFO,也可以更新电影、整部剧、当前季或当前集的元数据与图片。保存成功后,Vanto 会刷新对应目录并从统一媒体库重新展示结果。Apple TV 只读取和展示这些文件,不提供远程编辑入口。

写回范围

每次只修改编辑页明确选中的对象,不级联重写其他季或单集。保存前确认 NAS 账号对目标目录具有写入、替换与重命名权限。

检查与兼容范围

  • NFO 使用 UTF-8 XML,根节点必须与对象一致:movietvshowseasonepisodedetails
  • 单个 NFO 最大 2 MB;Vanto 最多读取 32 位人物。
  • 未知 XML 元素会被忽略,不会阻止视频扫描与播放。
  • 信息未更新时,先检查文件名、XML、大小写、图片位置与来源写入权限,再刷新当前来源。

本页只承诺 Vanto 当前实现与 Jellyfin、Kodi 公共约定的交集。扩展能力请参考 Jellyfin NFOJellyfin MoviesJellyfin ShowsKodi NFO filesKodi Artwork