V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要把任何和邀请码有关的内容发到 NAS 节点。

邀请码相关的内容请使用 /go/in 节点。

如果没有发送到 /go/in,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
xmt328
V2EX  ›  NAS

请教 Jellyfin 识别 Season 与 Episode 的解决方案

  •  
  •   xmt328 · 2021-06-15 16:58:02 +08:00 · 4076 次点击
    这是一个创建于 1287 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前 PT 站的文件命名大部分都为 Name.Year.[Season]Episode.ExtraInfo

    但是对于只有一季的剧集大多不会有 Season 信息,比如 Kidnapping.Game.2020.EP01.2160p.WEB-DL.H265.DDP2.0-LeaugeWEB.mkv

    这样会导致 Jellyfin 会将其识别为 S20E20 导致元数据获取失败

    因为 PT 站保种所以也不太可能手动修改文件名

    目前我是手动一集一集修改元数据之后刷新,但是这样不符合一个程序员的行为方式,也很消耗体力

    我尝试看过 Jellyfin 源码但是因为不了解 C#没能找到关键代码,提 Issue 好几个月了也没有得到回应

    然后就想退而求其次想找找有没有 HTTP API 来批量修改,但是也只找到插件 API

    对于这种情况想请教下 V2 大佬们有什么好的解决方案么

    PS.应该是会有 HTTP API 的,因为控制台是可以获取 API 密钥,但是我没有找到,如果有大佬知道希望告知下

    第 1 条附言  ·  2021-06-15 17:44:55 +08:00
    @koor @Trim21 因为 PT 的原因目录结构和文件名都不太适合进行修改
    @sidkang 软链接是个方案,但不是很好维护,这样就得把识别错误的剧集放到媒体库文件夹外,然后在媒体库文件夹创建软链
    第 2 条附言  ·  2021-06-17 11:38:32 +08:00
    找到接口了,应该是这一个
    https://api.jellyfin.org/#operation/UpdateItem

    Season 对应的是 ParentIndexNumber,Episode 对应的是 IndexNumber
    考虑直接用官方的 sdk 封装来处理下 https://github.com/jellyfin/jellyfin-sdk-kotlin
    13 条回复    2024-04-18 09:31:17 +08:00
    koor
        1
    koor  
       2021-06-15 17:07:55 +08:00
    建一个目录 S1,把视频全部放进去
    Trim21
        2
    Trim21  
       2021-06-15 17:35:40 +08:00 via Android
    tv name/s{1,2,3}/any sub dir/what ever you want
    sidkang
        3
    sidkang  
       2021-06-15 17:39:33 +08:00
    批量软链?
    xi452686571
        4
    xi452686571  
       2021-06-15 17:51:54 +08:00   ❤️ 1
    Season 简单, 新建一个文件夹就行。
    识别技术需要改一处源代码
    "jellyfin/Emby.Naming/Common/NamingOptions.cs"
    252 行:
    new EpisodeExpression(@"[\._ -]()[Ee][Pp]_?([0-9]+)([^\\/]*)$"),
    改成
    new EpisodeExpression(@"[\._ -]()[Ee]?[Pp]_?([0-9]+)([^\\/]*)$"),
    亲测可行
    siguretto
        5
    siguretto  
       2021-06-15 18:25:51 +08:00
    我的做法是用 jellyfin 的 api,但是 4 楼改源码正则好像更方便。不过我跑在 docker 的,改源码要改 dockerfile 了
    siguretto
        6
    siguretto  
       2021-06-15 18:29:42 +08:00
    jellyfin 官方文档菜单就有 api 文档,https://api.jellyfin.org/
    bao1991213
        7
    bao1991213  
       2021-06-15 19:13:15 +08:00
    软链接感觉是最好的方案了,因为可以自己控制名称,我就直接全文件软链接过去,然后 tmd 批量重命名,偶尔执行一下 查找无效软链接的文件排查。
    习惯了之后感觉也基本不会错。
    rain2meng
        8
    rain2meng  
       2021-06-15 19:27:46 +08:00 via Android
    我也觉得识别太垃圾了
    sunmacarenas
        9
    sunmacarenas  
       2021-06-16 11:28:30 +08:00 via Android
    我的方案是用 py 写个脚本下载完就全部改掉,不影响做种
    xmt328
        10
    xmt328  
    OP
       2021-06-16 12:06:45 +08:00
    @siguretto 哇,居然这么明显,顺着这个我发现官方甚至还封装了 sdk,不过搜了一下没看到能改 metadata 集数的地方....

    @sunmacarenas 具体要怎么做,不会找不到文件么?而且辅种也会有影响吧?
    camac
        11
    camac  
       2021-06-30 00:38:58 +08:00
    用 tmm ( tinyMediaManager ) 预识别一下,jellyfin 选:元素读取器读取 nfo 。
    c416593819
        12
    c416593819  
       258 天前
    老帖子了,想问下楼主找到什么好方案了吗
    xmt328
        13
    xmt328  
    OP
       249 天前
    @c416593819 自己通过 API 写脚本处理的,地址在六楼
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1404 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 17:16 · PVG 01:16 · LAX 09:16 · JFK 12:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.