kookxiang / jellyfin-plugin-bangumi Goto Github PK
View Code? Open in Web Editor NEWbgm.tv plugin for jellyfin
License: GNU General Public License v2.0
bgm.tv plugin for jellyfin
License: GNU General Public License v2.0
希望能自定义设置请求超时时间
这个现象似乎是 #48 之后出现的,不过我也不确定。
有些动画 TV 集数和 OVA/OAD 是两个分开的条目,但是编号是连续的,比如:
目录结构按照 Bangumi 条目原文名字建立:
長門有希ちゃんの消失
├── 01.mkv
├── ...
└── 16.mkv
長門有希ちゃんの消失 OAD/
└── 17.mkv
第二个条目只有 17 集这一集是 type=0
。这种情况下 01 到 16 集能关联到正确 Bangumi ID,但是 17 集关联不到。我猜是因为目录名字里含有 OAD
字符所以去按 SP 找了?
如题
我在jellyfin这边设置了bangumi的id,然后这jellyfin这边把对应的集标为了在看。但是bangumi这边一直没有更新?
Thunderbolt Fantasy
Thunderbolt Fantasy 东离剑游纪
这部剧有办法用这个插件吗
首先感谢大佬制作插件,一直在拿来刮削动漫。
不知后续能否添加刮削bangumi音乐信息的功能,包括cover、简介、曲目列表之类的。
昨天都是好的。 日志只能看到这种 然后后面就没有反应了
[2022-07-18 11:56:19.277 +00:00] [WRN] [26] Jellyfin.Plugin.Bangumi.Providers.EpisodeProvider: file "[NC-Raws] Love Live! SuperStar!! 第二季 - 01 (Baha 1920x1080 AVC AAC MP4) [311F4267].mp4" has incorrect episode index 1, set to 1
[2022-07-18 12:06:03.289 +00:00] [WRN] [46] Jellyfin.Plugin.Bangumi.Providers.EpisodeProvider: file "[NC-Raws] 轉生賢者的異世界生活~取得第二職業,成為世界最強~ - 04 (Baha 1920x1080 AVC AAC MP4) [F895981E].mp4" has incorrect episode index 4, set to 4
搜了下代码是进了这里
if (episodeIndex > max)
{
_log.LogWarning("file {FileName} has incorrect episode index {Index}, set to {NewIndex}",
fileName, episodeIndex, episodeIndexFromFilename);
return episodeIndexFromFilename;
}
重启 删插件的配置也没有用, 手动匹配剧集可以获取剧集和季度信息, 唯独章节信息获取不到
设置中已经进行用户授权了
刮削器中可以刮削到bangumi的数据
但是我看功能介绍中介绍可以将播放记录同步至bangumi
这项功能要如何实现?
目前并没有发现有播放记录被同步至bangumi
版本:10.7.7
操作系统:Linux
架构:X64
插件版本:1.3.7.0
Incorrect episode index detection relies on episodeListData.EpisodeCount
to detect max possible episode index. However, EpisodeList
does not always have EpisodeCount
.
Example: https://api.bgm.tv/subject/236020/ep
The result returned from api does not contains eps_count
field, so the episodeListData.EpisodeCount
will default to zero.
I suggest use episodeListData.Episodes.Count
directly.
原来的认证方式只有七天有效期,Trim21大佬提供了一个有效期更长的token机制
https://bgm.tv/group/topic/370315
更新了最新版的插件,以前正确识别的番剧集数名字,现在也不正常了。
以下面这个文件名为例
[ANK-Raws] あっちこっち (BDrip 1920x1080 HEVC-YUV420P10 FLAC)/[01] [ANK-Raws] あっちこっち 01 (BDrip 1920x1080 HEVC-YUV420P10 FLAC).mkv
识别出来的剧集名是
特典 - 「这里⇔那里」
但实际上它不是特典,而且在bangumi上的信息是
ep.1 「あっち⇔こっち」
中文标题:「这里⇔那里」
首播:2012-04-05
时长:24:20
同时,一些动漫的剧集名无法识别了,如下
[01] [Deaimon][01][BDRIP][1080P][H264_FLACx2].mkv
以前的版本是可以正确识别的,现在不行了。
我的设置是这样的
我的目录结构是这样的:
租借女友 (2020)
│ tvshow.nfo
│ folder.jpg
│ banner.jpg
│
├─Season 1
│ │ 租借女友 (2020) S01E01.mp4
│ │ 租借女友 (2020) S01E10.nfo
│ │ 租借女友 (2020) S01E02.mp4
│ │ 租借女友 (2020) S01E09.nfo
│ │ 租借女友 (2020) S01E03.mp4
│ │ 租借女友 (2020) S01E08.nfo
│ │ 租借女友 (2020) S01E04.mp4
│ │ 租借女友 (2020) S01E07.nfo
│ │ 租借女友 (2020) S01E05.mp4
│ │ 租借女友 (2020) S01E06.nfo
│ │ 租借女友 (2020) S01E06.mp4
│ │ 租借女友 (2020) S01E05.nfo
│ │ 租借女友 (2020) S01E07.mp4
│ │ 租借女友 (2020) S01E04.nfo
│ │ 租借女友 (2020) S01E08.mp4
│ │ 租借女友 (2020) S01E03.nfo
│ │ 租借女友 (2020) S01E09.mp4
│ │ 租借女友 (2020) S01E02.nfo
│ │ 租借女友 (2020) S01E10.mp4
│ │ 租借女友 (2020) S01E01.nfo
│ │ 租借女友 (2020) S01E12.nfo
│ │ 租借女友 (2020) S01E11.mp4
│ │ 租借女友 (2020) S01E11.nfo
│ │ 租借女友 (2020) S01E12.mp4
│ │ season.nfo
│ │
│ └─metadata
│ 租借女友 (2020) S01E01.jpg
│ 租借女友 (2020) S01E02.jpg
│ 租借女友 (2020) S01E03.jpg
│ 租借女友 (2020) S01E04.jpg
│ 租借女友 (2020) S01E05.jpg
│ 租借女友 (2020) S01E06.jpg
│ 租借女友 (2020) S01E07.jpg
│ 租借女友 (2020) S01E09.jpg
│ 租借女友 (2020) S01E10.jpg
│ 租借女友 (2020) S01E11.jpg
│ 租借女友 (2020) S01E12.jpg
│ 租借女友 (2020) S01E08.jpg
│
└─Season 2
│ season.nfo
│ 租借女友 (2020) S02E01.mp4
│ 租借女友 (2020) S02E01.nfo
│ 租借女友 (2020) S02E02.mp4
│ 租借女友 (2020) S02E02.nfo
│ 租借女友 (2020) S02E03.mp4
│ 租借女友 (2020) S02E03.nfo
│ 租借女友 (2020) S02E04.mp4
│ 租借女友 (2020) S02E04.nfo
│ 租借女友 (2020) S02E05.mp4
│ 20221008145912853.nfo
│ 租借女友 (2020) S02E06.mp4
│ 租借女友 (2020) S02E06.nfo
│ 租借女友 (2020) S02E07.mp4
│ 租借女友 (2020) S02E07.nfo
│ 租借女友 (2020) S02E08.mp4
│ 租借女友 (2020) S02E08.nfo
│ 租借女友 (2020) S02E09.mp4
│ 租借女友 (2020) S02E09.nfo
│ 租借女友 (2020) S02E10.mp4
│ 租借女友 (2020) S02E10.nfo
│ 租借女友 (2020) S02E11.mp4
│ 租借女友 (2020) S02E11.nfo
│ 租借女友 (2020) S02E12.mp4
│ 租借女友 (2020) S02E12.nfo
│ 租借女友 (2020) S02E05.nfo
│
└─metadata
租借女友 (2020) S02E05.jpg
租借女友 (2020) S02E02.jpg
租借女友 (2020) S02E03.jpg
租借女友 (2020) S02E04.jpg
租借女友 (2020) S02E07.jpg
租借女友 (2020) S02E08.jpg
租借女友 (2020) S02E09.jpg
租借女友 (2020) S02E10.jpg
租借女友 (2020) S02E11.jpg
租借女友 (2020) S02E12.jpg
{"error":"redirect_uri_mismatch","error_description":"The redirect URI is missing or do not match"}
不能直接这么匹配
如题,直接访问没权限,能否加一下token,感谢
测试动画:彼女×彼女×彼女 18022
比如这样一个目录。
吹响!悠风号
└── Season 2
└── [CASO&SumiSora][Sound!Euphonium2][GB][1080P]
├── [CASO&SumiSora][Sound!Euphonium2][01][GB][1080P].mp4
├── [CASO&SumiSora][Sound!Euphonium2][02][GB][1080P].mp4
├── [CASO&SumiSora][Sound!Euphonium2][03][GB][1080P].mp4
├── [CASO&SumiSora][Sound!Euphonium2][04][GB][1080P].mp4
├── [CASO&SumiSora][Sound!Euphonium2][05][GB][1080P].mp4
├── [CASO&SumiSora][Sound!Euphonium2][06][GB][1080P].mp4
├── [CASO&SumiSora][Sound!Euphonium2][07][GB][1080P].mp4
├── [CASO&SumiSora][Sound!Euphonium2][08][GB][1080P].mp4
├── [CASO&SumiSora][Sound!Euphonium2][09][GB][1080P].mp4
├── [CASO&SumiSora][Sound!Euphonium2][10][GB][1080P].mp4
├── [CASO&SumiSora][Sound!Euphonium2][11][GB][1080P].mp4
├── [CASO&SumiSora][Sound!Euphonium2][12][GB][1080P].mp4
└── [CASO&SumiSora][Sound!Euphonium2][13][GB][1080P].mp4
自动点格子总是会点到第一季。
看起来是因为 Bangumi Episode Id 总是获取的第一季的单集ID。
你好,我在使用中发现对于大长篇,例如猫和老鼠,似乎会出现把1xx集识别为xx集的情况,不知是否进行过适配?谢谢
遇到个情况,比如 からかい上手の高木さん 有 3 季
S01E01 和 S02E01, S03E01 的 Episode ID 是一样的,在补全 metadata 的时候似乎没有对 Season 做处理。
刮削VCB-Studio的狼与香辛料 BDRip [torrent文件]
控制台模式显示能正常获取到集数,但是实际刷新元数据后无法获得集数信息
[02:08:11] [WRN] [28] Jellyfin.Plugin.Bangumi.Providers.EpisodeProvider: use episode index 8 instead of 0 for [VCB-Studio] Spice and Wolf [08][Ma10p_1080p][x265_flac].mkv
[02:08:13] [WRN] [28] Jellyfin.Plugin.Bangumi.Providers.EpisodeProvider: use episode index 9 instead of 0 for [VCB-Studio] Spice and Wolf [09][Ma10p_1080p][x265_flac].mkv
[02:08:14] [WRN] [28] Jellyfin.Plugin.Bangumi.Providers.EpisodeProvider: use episode index 10 instead of 0 for [VCB-Studio] Spice and Wolf [10][Ma10p_1080p][x265_flac].mkv
我以为是插件出现bug,后来查看是将文件名中的Spice识别成SP了。改了一下文件名才能正确刮削,SP正则改成和EP一样的 \[SP(\d{2,3})
能避免这种问题
[02:17:29] [WRN] [99] Jellyfin.Plugin.Bangumi.Providers.EpisodeProvider: use episode index 9 instead of 0 for [VCB-Studio] S pice and Wolf II [09][Ma10p_1080p][x265_flac].mkv
[02:17:30] [INF] [77] Jellyfin.Plugin.Bangumi.Providers.EpisodeProvider: use exists episode number 9 from file name [VCB-Studio] S pice and Wolf II [09][Ma10p_1080p][x265_flac].mkv
才注意到Season元数据修复了,赞👍
不过使用时发现季度名变成条目名,不再是原来的「第 N 季」
我个人是偏向使用「第 N 季」,不知道大家啥想法
移除Name
和OriginalTitle
:
点击声优进去一直在转圈
jellyfin-plugin-bangumi/Jellyfin.Plugin.Bangumi/Providers/EpisodeProvider.cs
Lines 131 to 134 in b02a977
很多情况api会返回sp的airdate为空字符串, 这时就会进前面的if, 导致这个章节排在第一集的前面
个人觉得没有airdate的章节应该放在季度最后面
Jellyfin版本:
服务器:jellyfin
版本:10.8.7
操作系统:Linux
架构:X64
Bangumi版本:1.4.18.0
日志:
[2022-11-05 07:29:32.276 +08:00] [ERR] [38] MediaBrowser.Providers.TV.SeriesMetadataService: Error in "Bangumi"
System.Text.Json.JsonException: '<' is an invalid start of a value. Path: $ | LineNumber: 0 | BytePositionInLine: 0.
---> System.Text.Json.JsonReaderException: '<' is an invalid start of a value. LineNumber: 0 | BytePositionInLine: 0.
at System.Text.Json.ThrowHelper.ThrowJsonReaderException(Utf8JsonReader& json, ExceptionResource resource, Byte nextByte, ReadOnlySpan1 bytes) at System.Text.Json.Utf8JsonReader.ConsumeValue(Byte marker) at System.Text.Json.Utf8JsonReader.ReadFirstToken(Byte first) at System.Text.Json.Utf8JsonReader.ReadSingleSegment() at System.Text.Json.Utf8JsonReader.Read() at System.Text.Json.Serialization.JsonConverter
1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
--- End of inner exception stack trace ---
at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& state, JsonReaderException ex)
at System.Text.Json.Serialization.JsonConverter1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state) at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan
1 utf8Json, JsonTypeInfo jsonTypeInfo, Nullable1 actualByteCount) at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan
1 json, JsonTypeInfo jsonTypeInfo)
at System.Text.Json.JsonSerializer.Deserialize[TValue](String json, JsonSerializerOptions options)
at Jellyfin.Plugin.Bangumi.BangumiApi.SearchSubject(String keyword, CancellationToken token)
at Jellyfin.Plugin.Bangumi.Providers.SeriesProvider.GetMetadata(SeriesInfo info, CancellationToken token)
at MediaBrowser.Providers.Manager.MetadataService2.ExecuteRemoteProviders(MetadataResult
1 temp, String logName, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken)
感谢大佬的辛苦付出,建议可以增加调试选项,把请求等关键信息打在日志里
返回的日期为2006, 这里应该校验下日期格式
[08:21:23] [INF] [55] Jellyfin.Plugin.Bangumi.Providers.EpisodeProvider: use exists episode number 0 from file name [DMHY][aria][00][BD-720P][CHS].mp4
[08:21:23] [ERR] [55] MediaBrowser.Providers.TV.EpisodeMetadataService: Error in Bangumi
System.FormatException: String '2006' was not recognized as a valid DateTime.
at System.DateTimeParse.Parse(ReadOnlySpan`1 s, DateTimeFormatInfo dtfi, DateTimeStyles styles)
at Jellyfin.Plugin.Bangumi.Providers.EpisodeProvider.GetMetadata(EpisodeInfo info, CancellationToken token)
at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken)
Bangumi的某些影片名称以及简介是日文,能否通过翻译API自动翻译日文的影片名以及简介?非常感谢。
可以安装1.3版本插件,但是系统提示不支持当前版本。
这样就可以自动更新了...
将文件名解析的工作分离出来,向用户提供两种解析器:
解析器我推荐现成的AnitomySharp,也可以选择原版
AnitomySharp提供以下类别的解析结果👉ElementCategory
使用方法见👉Anitomy.cs
大家觉得怎么样,讨论一下是否可行
首先感谢大佬制作这款插件,
不知是否有意向也为Emby适配一下呢?
刮削KERORO军曹前100话能正常获取标题等信息,100话后无法刮削到数据
谢谢回复,另外想询问一下有关于SP的刮削问题,部分番剧包含SP OP ED等,能否支持一下SP的刮削?
例如
首先是很多章节都被识别成了
[2021][Tsuki ga Michibiku Isekai Douchuu][BDRIP][1080P][1-12Fin+SP]
[2021][Eighty-Six][BDRIP][1080P][1-23Fin+SP]
[2012][Shinsekai Yori][BDRIP][1080][1-25Fin+SP]
这样的格式基本都会识别成 https://bangumi.tv/subject/4314 应该是文件名解析的问题,但是我没找到为什么……(或许你们的解析器做个在线测试功能比较好?
之后是建议的部分
主要是为了解决一些疑难Episode的匹配问题, 实在匹配不上可以通过手动输入BangumiId来获取数据
因为bangumi的某些oad的集号真的很奇怪, 我不想改成和他一样, 但是不改又匹配不上
这时我就可以手动指定id后获取元数据
还有些oad是单独出现在一个条目里, 因为名字带有oad就会找sp的条目, 我修改文件名把其中oad去掉就能匹配, 这些我也不想改文件名
所以希望能加上这个需求, 感谢
比如炮姐,SP 的编号和正片编号是重复的:
每个条目都有 SP01 和 SP02,对应 MMR 这个小系列,一共 6 集。
本地目录结构(按照推荐把 SP 放在 Specials
子目录里):
とある科学の超電磁砲
├── [...]
└── Specials
├── 01.mkv
└── 02.mkv
とある科学の超電磁砲S
├── [...]
└── Specials
├── 01.mkv
└── 02.mkv
とある科学の超電磁砲T
├── [...]
└── Specials
├── 01.mkv
└── 02.mkv
尽管 MMR 是放在 Specials 里,也被 Jellyfin 归到 Specials 季里,但是插件抓取到的 Bangumi Episode Id 和标题是正片部分的 01 和 02 集,而不是 SP01 和 SP02。
看了下 API 的返回,是有个 type
字段表示 episode 类型的,比如 0
是正片,1
是 SP 之类。也许可以考虑用这个来进行过滤,对于 Specials 目录里的文件,只匹配 type=1
的 episode。
BGM返回的第一个结果并不是最匹配的,导致自动更新元数据时匹配到错误条目
不清楚BGM那边是否有计划更新返回逻辑。从网上copy了份排序代码,测试效果还行👉https://github.com/chu-shen/jellyfin-plugin-bangumi/releases/tag/2.0.0
希望能返回比较准确的结果,不然一个一个修改回来太辛苦了😰
附测试动画:
如题
您好,我使用的是doker上的10.7.6版本的jellyfin,安装bangumi插件后显示 Bangumi 1.3.0.0 状态 Malfunctioned,点击显示此插件没有配置选项,请问大佬是缺少运行环境还是版本问题啊
插件版本 1.3.0 jellyfin版本10.7.7
电影类别的原标题有更新, 节目(电视剧)类别的原标题没有更新
另外可以继续更新10.7.7正式版本的吗, 毕竟10.8还是属于测试版
show或者season填入 bangumiid后,epid还是获取不到 ,其他好像都能获取到 就海贼王不行
请问一下大佬,能不能适配一下让这个插件支持电影类型的削刮?还是jellyfin支持而我用的emby版不支持呢?
考虑到 API 频率限制以及 #9 所提的需要登录后才能搜索的条目,是否可以提供一个只登录(并用 token 进行搜索)但是不同步观看进度的选项?
使用场景:
[2022-12-29 04:25:42.094 +00:00] [INF] [53] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin Web" "10.8.7" playing "好歹穿上内裤吧". Stopped at "1420138" ms
[2022-12-29 04:25:42.161 +00:00] [INF] [53] Jellyfin.Plugin.Bangumi.PlaybackScrobbler: report episode #"1128098" status Watched to bangumi
[2022-12-29 04:25:42.808 +00:00] [INF] [60] Jellyfin.Plugin.Bangumi.PlaybackScrobbler: report completed
日志显示上报成功, 实际上没标记为已播放
时间胶囊和动画页面都没有相应的显示
插件版本1.4.53.0
已经手动设置了bangumi id,但是刷新以后元数据也不会更新,修改图片也不会列出来自bangumi的封面图。
之前成功从bangumi获取过封面图的番剧,现在也获取不到了。
在“识别”中输入bangumi id会返回空结果。(但是使用名字检索却能搜到bangumi的结果)
另外授权登录会返回Error processing request.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.