kookxiang / jellyfin-plugin-bangumi

bgm.tv plugin for jellyfin
GNU General Public License v2.0
512 stars 22 forks source link

剧集被误判为NSFW #125

Open theggs opened 1 month ago

theggs commented 1 month ago

看哭泣少女乐队的第二集,发现没有同步到 bgm.tv。在日志中发现这一集被判定为 NSFW。

[2024-05-22 20:57:30.962 +08:00] [INF] [151] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -probesize 1G -ss 00:22:20.547 -noaccurate_seek -fflags +genpts  -i file:\"/volumeUSB3/usbshare/电视剧/哭泣少女乐队 (2024)/哭泣少女乐队 第1季 Season 1 - 第 1 季/哭泣少女乐队 - S01E02 - 三只夜行动物.1080p.h265.10bit.AAC.2.0.mkv\" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename \"81059e3870d00c808a7f339134c7f71f-1.mp4\" -start_number 223 -hls_segment_filename \"/config/data/transcodes/81059e3870d00c808a7f339134c7f71f%d.mp4\" -hls_playlist_type vod -hls_list_size 0 -y \"/config/data/transcodes/81059e3870d00c808a7f339134c7f71f.m3u8\""
[2024-05-22 20:57:32.051 +08:00] [INF] [174] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: FFmpeg exited with code 0
[2024-05-22 20:57:35.148 +08:00] [INF] [174] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: Deleting partial stream file(s) "/config/data/transcodes/81059e3870d00c808a7f339134c7f71f.m3u8"
[2024-05-22 20:57:36.728 +08:00] [INF] [182] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin Web" "10.9.2" playing "三只夜行动物". Stopped at "1418090" ms
[2024-05-22 20:57:37.166 +08:00] [INF] [182] Jellyfin.Plugin.Bangumi.PlaybackScrobbler: item #"三只夜行动物" marked as NSFW, skipped
[2024-05-22 20:59:39.358 +08:00] [INF] [184] Emby.Server.Implementations.Session.SessionWebSocketListener: Sending ForceKeepAlive message to 1 inactive WebSockets.

但是bgm api返回的结果这个番不是 NSFW 的 https://api.bgm.tv/v0/subjects/431767

"nsfw": false,

刮削出的元数据我没有动过。

不知道判断 NSFW 的逻辑是什么样的。

theggs commented 1 month ago

调查了一下,插件源码中 NSFW 指向的是「分级对应年龄小于10岁」。

这个番剧的分级信息由其它数据源补全为15,所以不能通过。

这是一个隐性信息,是不是应该在 NSFW 配置中标注一下?

kookxiang commented 1 month ago

为了避免每次都通过 API 查一遍,目前确实是通过 jellyfin 本身的分级信息判断的 后面改成查 API + 缓存的方式实现吧

zeyugao commented 1 month ago

这个之前理论上做过判断,如果数据源补出来的是数字,就会与18进行比较,而不是与10进行比较

https://github.com/kookxiang/jellyfin-plugin-bangumi/blob/84709cd6e3fbc775bad178f73825356362ba200e/Jellyfin.Plugin.Bangumi/PlaybackScrobbler.cs#L167-L180