自动化中文字幕下载。字幕网站支持 zimuku、subhd、shooter、xunlei 。支持 Emby、Sonarr、Radarr、TMM

ChineseSubFinder

本项目的初衷仅仅是想自动化搞定限定条件中文 字幕下载。

开发中,可能有不兼容性的调整(配置文件字段变更)

最新版本 v0.7.x 优化视频跳过下载字幕的逻辑,加快扫描速度

v0.6.x 支持字幕类型优先级设置

Why?

注意,因为近期参考《高阶教程-追剧全流程自动化 | sleele的博客》搞定了自动下载,美剧、电影没啥问题。但是遇到字幕下载的困难,里面推荐的都不好用,能下载一部分,大部分都不行。当然有可能是个人的问题。为此就打算自己整一个专用的下载器。

手动去下载再丢过去改名也不是不行,这不是懒嘛...

首先,明确一点,因为搞定了 sonarr 和 radarr 以及 Emby,同时部分手动下载的视频也会使用 tinyMediaManager 去处理,所以可以认为所有的视频是都有 IMDB ID 的。那么就可以取巧,用 IMDB ID 去搜索(最差也能用标准的视频文件名称去搜索嘛)。

功能

支持的部署方式

  • docker,见 How to use

支持的视频分类(如何削刮视频的)

类型 Emby/Jellyfin TinyMediaManager Sonarr Radarr 人工随意命名分类 备注
电影 通过 IMDB ID 或者 文件名 进行搜索
连续剧 必须依赖 tvshow.nfo 中的 IMDB ID
日本动画(Anime) 待定,见讨论
  • -- 支持
  • ✓ -- 支持,但是可能搜索结果不稳定
  • -- 不支持

支持的字幕下载站点

字幕站点 电影 连续剧 Anime
zimuku
subhd
shooter
xunlei
字幕站点 电影目录下有 movie.xml或电影名称.nfo 连续剧目录下有 tvshow.nfo 通过视频唯一ID 视频文件名
zimuku
subhd
shooter
xunlei
  • -- 支持
  • ✓ -- 支持,但是可能搜索结果不稳定
  • -- 不支持

支持的视频格式

  • mp4
  • mkv
  • rmvb
  • iso

字幕网站优先级

网站字幕优先级别暂定 :zimuku -> subhd -> xunlei -> shooter,暂时不支持修改优先级

字幕格式优先级

字幕格式的优先级选择 根据网站和字幕的排名自动选择(字幕类型不定) 优先 srt 优先 ass/ssa
SubTypePriority 0 1 2

字幕语言类型优先级

  • 双语 -> 单语种
  • 简体 -> 繁体

支持字幕语言的检测

并非简单的从文件名或者字幕提供方的标记进行识别,而是读取字幕文件,进行双语、简体、繁体等的识别,支持列表如下:

const (
	Unknow                     Language = iota // 未知语言
	ChineseSimple                              // 简体中文
	ChineseTraditional                         // 繁体中文
	ChineseSimpleEnglish                       // 简英双语字幕
	ChineseTraditionalEnglish                  // 繁英双语字幕
	English                                    // 英文
	Japanese                                   // 日语
	ChineseSimpleJapanese                      // 简日双语字幕
	ChineseTraditionalJapanese                 // 繁日双语字幕
	Korean                                     // 韩语
	ChineseSimpleKorean                        // 简韩双语字幕
	ChineseTraditionalKorean                   // 繁韩双语字幕
)

然后相应的会转换为以下的字幕语言“后缀名”

// 需要符合 emby 的格式要求,在后缀名前面
const (
	Emby_unknow = ".unknow"					// 未知语言
	Emby_chs 	= ".chs"					// 简体
	Emby_cht 	= ".cht"					// 繁体
	Emby_chs_en = ".chs_en"                 // 简英双语字幕
	Emby_cht_en = ".cht_en"                	// 繁英双语字幕
	Emby_en 	= ".en"                       // 英文
	Emby_jp 	= ".jp"						// 日语
	Emby_chs_jp = ".chs_jp"                 // 简日双语字幕
	Emby_cht_jp = ".cht_jp"                	// 繁日双语字幕
	Emby_kr 	= ".kr"                     // 韩语
	Emby_chs_kr = ".chs_kr"                 // 简韩双语字幕
	Emby_cht_kr = ".cht_kr"                	// 繁韩双语字幕
)

How to use

使用本程序前,强烈推荐使用 emby 或者 tinyMediaManager 对你的视频进行基础的削刮,整理好视频的命名,否则你自行命名连续剧是无法进行识别自动下载的。

配置建议

Threads

目前测试,设置到 6 ,群晖918+ 8G 内存,是性能比较极限的数值。建议设置到 4 比较合适。太低就很慢,因为进行了大量的网络查询(依赖 IMDB API 以及各个字幕网站的查询接口)。太高的设置,这个看你的性能,也别太凶猛,不然被 ban IP。

EveryTime

其实也无需经常扫描,按在下现在的使用情形举例。每天上午7点30群晖自动开机,然后本程序自动启动。设置 12h 的间隔,晚上回家吃完饭很可能电影剧集更新,正好观看。(后续考虑给出多个固定时间点的字幕扫描触发功能)

SaveMultiSub

如果你担心本程序的自动选择最佳字幕的逻辑有问题(现在这个选择的逻辑写的很随意···),那么建议开启这个 SaveMultiSub: true。这样在视频的同级目录下会出现多个网站的 Top1 字幕。

连续剧如何搜索字幕

连续剧字幕自动下载的功能严重依赖于 IMDB ID,所以会自动去每个剧集的目录中找 tvshow.nfo 这个文件,这个文件是 emby 或者 sonarr 自动生成的。

如果你的剧集没有经过 emby 或者 TMM 的整理,那么抱歉,本功能将无法正常使用!

推荐的目录结构

目录结构如下图:

可以看出,下面的目录名称是两个程序混合削刮的。后面带有 (年份)是之前手动下载的连续剧然后经过 TMM 削刮的,纯英文文件夹名称的是 sonarr 自动下载的连续剧

05

06

每一集的命名样式

如下图,如果你的连续剧被 emby 或者 TMM 整理过,那么就有类似的命名样子。那么连续剧的自动搜索功能才能正确生效,否则无法正常使用。

07

使用 docker-compose 部署,支持x86_64、ARM32,ARM64设备

编写以下的配置文件,注意 docker-compose 文件需要与本程序的 config.yaml 配套,特别是 MovieFolder、SeriesFolder 。

NAS用户请注意填写用户UID,GID,ssh进入NAS后输入id可获得对应账户的UID,GID

version: "3"
services:
  chinesesubfinder:
    image: allanpk716/chinesesubfinder:latest
    volumes:
      - /volume1/docker/chinesesubfinder:/config
      - /volume1/Video:/media
    environment:
      - PUID=1026
      - PGID=100
      - TZ=Asia/Shanghai
    restart: unless-stopped

docker 命令创建容器

docker create \
  --name=chinesesubfinder \
  -e PUID=1026 \
  -e PGID=100 \
  -e TZ=Asia/Shanghai \
  -v /volume1/docker/chinesesubfinder:/config \
  -v /volume1/Video:/media \
  --restart unless-stopped \
  allanpk716/chinesesubfinder:latest

第一次使用本容器时,请启动后立即关闭,修改config.yaml的媒体文件夹地址
每次重启或更新chinesesubfinder容器时,系统会自动下载最新版的config.yaml.sample,可自行浏览最新配置文件并修改到config.yaml
推荐使用watchtower自动更新
https://sleele.com/2019/06/16/docker更新容器镜像神器-watchtower/
config.yaml 内容如下(每个配置啥意思见《配置文件解析》)

UseProxy: false
HttpProxy: http://127.0.0.1:10809
EveryTime: 12h
Threads: 4
SubTypePriority: 0
DebugMode: false
SaveMultiSub: false
MovieFolder: /media/电影
SeriesFolder: /media/连续剧

配置文件解析

UseProxy: false
HttpProxy: http://127.0.0.1:10809
EveryTime: 6h
Threads: 4
SubTypePriority: 0
DebugMode: false
SaveMultiSub: false
MovieFolder: /media/电影
SeriesFolder: /media/连续剧
  • UseProxy,默认false。是否使用代理,需要配合 HttpProxy 设置

  • HttpProxy,默认 http://127.0.0.1:10809。http 代理这里不要留空,不适应就设置 UseProxy 为 false

  • EveryTime,默认 6h。每隔多久触发一次下载逻辑。怎么用参考,robfig/cron: a cron library for go (github.com)

  • Threads,并发数,最高到 20 个。看机器性能和网速来调整即可。

  • SubTypePriority,字幕下载的优先级,0 是自动,1 是 srt 优先,2 是 ass/ssa 优先

  • DebugMode,默认 false。调试模式,会在每个视频的文件夹下,新建一个 subtmp 文件夹,把所有匹配到的字幕都缓存到这个目录,没啥事可以不开。开的话就可以让你手动选择一堆的字幕啦。

  • SaveMultiSub,默认值 false。true 会在每个视频下面保存每个网站找到的最佳字幕(见下面《如何手动刷新 emby 加载字幕》,会举例)。false ,那么每个视频下面就一个最优字幕。

  • MovieFolder,填写你的电影的目录

  • SeriesFolder,填写你的连续剧的目录

如何手动刷新 emby 加载字幕

首先,本程序会自动下载字幕文件,如下图:

这里演示开启了 SaveMultiSub: true ,也就是把每个网站最优的字幕都存下来

如果没有开启 SaveMultiSub: false,.那么就是下载一个。后续的刷新操作一样

00

然后,去 emby 对应影片的详情页面,点击“更多”。如下图

01

然后点击“刷新元数据”

02

注意,这里“搜索缺少的元数据”,没必要全刷新

03

直接播放影片,点击 “CC” 这个按钮是不是看到对应的字幕列表了。

04

版本

  • v0.6.x 支持设置字幕格式的优先级 -- 2021年6月23日
  • v0.5.x 支持连续剧字幕下载 -- 2021年6月19日
  • v0.4.x 支持设置并发数 -- 2021年6月18日
  • v0.3.x 支持连续剧字幕下载(连续剧暂时不支持 subhd) -- 2021年6月17日
  • v0.2.0 docker 版本支持 subhd 的下载了,镜像体积也变大了 -- 2021年6月14日
  • 完成初版,仅仅支持电影的字幕下载 -- 2021年6月13日

TODO

  • 支持设置字幕格式的优先级,srt 或者 ssa/ass
  • 字幕的风评(有些字幕太差了,需要进行过滤,考虑排除,字幕组,关键词,机翻,以及评分等条件
  • 加入 Web 设置界面(也许没得很大的必要···)
  • 提供 API 接口,部署后,允许额外的程序访问(类似 emby 等)获取字幕
  • 支持 Anime 的字幕下载

设计

基础字幕搜索流程

感谢

感谢下面项目的帮助

预览图

Xnip2021-06-25_11-11-55 Xnip2021-06-25_11-12-33 Xnip2021-06-25_10-29-06 Xnip2021-06-25_10-24-22 Xnip2021-06-25_11-42-38

Owner
Chin allan
阔以,但没必要
Chin allan
Comments
  • 功能需求:指定视频文件路径,让ChineseSubFinder仅下载该视频的字幕

    功能需求:指定视频文件路径,让ChineseSubFinder仅下载该视频的字幕

    你使用的 chinesesubfinder 是什么版本,什么环境?

    chinesesubfinder 版本: v0.25.0

    环境: docker

    你想要新增或者改进什么功能?

    指定视频文件路径,让ChineseSubFinder仅下载该视频的字幕。当前ChineseSubFinder没有提供命令行参数功能,如果提供命令行参数的话,可以类似于下面这种:

    chinesesubfinder -f "/movies/White.Snake.2019.1080p.BluRay.x264.DTS-WiKi/White.Snake.2019.1080p.BluRay.x264.DTS-WiKi.mkv"
    

    同时提供api接口,POST一个路径给api接口,实现上述功能。但api可能需要考虑先返回(比如立即返回POST过来的文件路径存在不存在?),再异步处理下载字幕的任务,如果要处理完成字幕下载再返回,可能时间太长了。

    感觉上api接口比命令行参数的使用场景更多一些。在一些群中讨论了下,需要此功能的用户确实不少。它有一个最典型的应用场景:当qBittorrent/transmission下载完成后运行脚本,立即向ChineseSubFinder的api触发给刚刚下载完成的视频下载字幕,这样下载完成后几乎可以立即观看,无需等待。

    目前的api文档:API-design.md

    这个功能有什么可以参考的资料吗?

    暂无。

  • 库里不显示任何电影和电视剧

    库里不显示任何电影和电视剧

    你使用的 chinesesubfinder 是什么版本,什么环境?

    chinesesubfinder 版本: 0.30.7

    环境: docker on 群晖

    在程序运行日志头部或者 Web UI 可以看到

    你遇到什么问题了?

    库里不显示任何

    你的问题弄重现嘛?

    稳定复现

    你期望的结果

    库中展示相关视频信息

    给出当前程序的配置文件

    /volume1/docker/chinesesubfinder/config:/config 下,ChineseSubFinderSettings.json,记得把你的用户名、密码、Emby API 敏感信息删除

    可以复制上面的配置,使用类似在线 json 格式化的工具进行一次处理,方便阅读,JSON 在线解析及格式化验证 - JSON.cn

    {
        "SpeedDevMode": false,
        "user_info": {
            "username": "xxx",
            "password": "xxx"
        },
        "common_settings": {
            "interval_or_assign_or_custom": 0,
            "scan_interval": "@every 10h",
            "threads": 1,
            "run_scan_at_start_up": true,
            "movie_paths": [
                "/media/movie"
            ],
            "series_paths": [
                "/media/tv",
                "/media/anime"
            ],
            "local_static_file_port": "19037"
        },
        "subtitle_sources": {
            "assrt_settings": {
                "enabled": false,
                "token": ""
            }
        },
        "advanced_settings": {
            "proxy_settings": {
                "use_proxy": false,
                "use_which_proxy_protocol": "http",
                "local_http_proxy_server_port": "19036",
                "input_proxy_address": "127.0.0.1",
                "input_proxy_port": "10809",
                "need_pwd": false,
                "input_proxy_username": "",
                "input_proxy_password": ""
            },
            "debug_mode": true,
            "save_full_season_tmp_subtitles": false,
            "sub_type_priority": 0,
            "sub_name_formatter": 0,
            "save_multi_sub": false,
            "custom_video_exts": [],
            "fix_time_line": false,
            "topic": 1,
            "suppliers_settings": {
                "xunlei": {
                    "name": "xunlei",
                    "root_url": "http://sub.xmp.sandai.net:8000/subxl/%s.json",
                    "daily_download_limit": -1
                },
                "shooter": {
                    "name": "shooter",
                    "root_url": "https://www.shooter.cn/api/subapi.php",
                    "daily_download_limit": -1
                },
                "subhd": {
                    "name": "subhd",
                    "root_url": "https://subhd.tv",
                    "daily_download_limit": 20
                },
                "zimuku": {
                    "name": "zimuku",
                    "root_url": "https://zimuku.org",
                    "daily_download_limit": 20
                },
                "assrt": {
                    "name": "assrt",
                    "root_url": "https://api.assrt.net/v1",
                    "daily_download_limit": -1
                },
                "a4k": {
                    "name": "a4k",
                    "root_url": "https://www.a4k.net",
                    "daily_download_limit": -1
                }
            },
            "scan_logic": {
                "skip_chinese_movie": false,
                "skip_chinese_series": false
            },
            "task_queue": {
                "max_retry_times": 3,
                "one_job_time_out": 300,
                "interval": 10,
                "expiration_time": 90,
                "download_sub_during_x_days": 7,
                "one_sub_download_interval": 12,
                "check_pulic_ip_target_site": ""
            },
            "download_file_cache": {
                "ttl": 4320,
                "unit": "hour"
            }
        },
        "emby_settings": {
            "enable": true,
            "address_url": "http://xxx",
            "api_key": "xxx",
            "max_request_video_number": 3000,
            "skip_watched": false,
            "movie_paths_mapping": {
                "/media/movie": "smb://192.168.xx/Download/movie"
            },
            "series_paths_mapping": {
                "/media/anime": "smb://192.168.xx/Download/anime",
                "/media/tv": "smb://192.168.xx/Download/tv"
            },
            "auto_or_manual": false,
            "threads": 3
        },
        "developer_settings": {
            "enable": false,
            "bark_server_address": ""
        },
        "timeline_fixer_settings": {
            "max_offset_time": 120,
            "min_offset": 0.1
        },
        "experimental_function": {
            "auto_change_sub_encode": {
                "enable": false,
                "des_encode_type": 0
            },
            "chs_cht_changer": {
                "enable": false,
                "des_chinese_language_type": 0
            },
            "remote_chrome_settings": {
                "enable": false,
                "remote_docker_url": "",
                "remote_adblock_path": "",
                "remote_user_data_dir": ""
            },
            "api_key_settings": {
                "enabled": false,
                "key": ""
            },
            "local_chrome_settings": {
                "enabled": false,
                "local_chrome_exe_f_path": ""
            },
            "share_sub_settings": {
                "share_sub_enabled": false
            }
        }
    }
    

    如果是使用 Docker,请给出对应的配置信息

    比如 Docker-Compose 信息,如果是其他方式使用忽略 chinesesubfinder:

    • image: allanpk716/chinesesubfinder:latest
    • volumes:
    • /mnt/chinesesubfinder/config:/config
    • /mnt/chinesesubfinder/cache:/app/cache
    • /mnt/film/film:/media environment:
    • PUID=1026
    • PGID=100
    • TZ=Asia/Shanghai
    • PERMS=true
    • ports: - 19035:19035 - 19037:19037
    • restart: unless-stopped

    请给出当次问题的完整日志

    日志在程序的 Logs 目录下,如果你用的是 docker ,那么需要你映射出来。

    /volume1/docker/chinesesubfinder/config:/config 下,Logs 中

    [INFO]: 2022-06-11 02:05:24 - ------------------------------------
    [INFO]: 2022-06-11 02:05:24 - Video Scan Started By webui...
    [INFO]: 2022-06-11 02:05:24 - ScanNormalMovieAndSeries Start...
    [INFO]: 2022-06-11 02:05:24 - Forced Scan And DownSub
    [INFO]: 2022-06-11 02:05:24 - ------------------------------------------
    [INFO]: 2022-06-11 02:05:24 - GetSeriesListFromDirs Start...
    [DEBUG]: 2022-06-11 02:05:24 - curFile.Size() < 1000: tvshow.nfo
    [INFO]: 2022-06-11 02:05:24 -  --------------------------------------------------
    [INFO]: 2022-06-11 02:05:24 - SearchMatchedVideoFileFromDirs Start...
    [DEBUG]: 2022-06-11 02:05:24 - /media/movie/Sonic the Hedgehog 2 (2022)/Sonic the Hedgehog 2_(2022)_WEBDL-2160p.mkv
    [DEBUG]: 2022-06-11 02:05:24 - /media/movie/Fantastic.Beasts.The.Secrets.of.Dumbledore.2022.KORSUB.HDRip.x264.AAC2.0-SHITBOX/Fantastic Beasts The Secrets of Dumbledore_(2022)_WEBDL-2160p.mkv
    [DEBUG]: 2022-06-11 02:05:24 - /media/movie/Interstellar (2014)/Interstellar_(2014)_Bluray-2160p.mkv
    [DEBUG]: 2022-06-11 02:05:24 - /media/movie/The.Matrix.Resurrections.2021.2160p.UHD.BluRay.x265-WICK/The.Matrix.Resurrections.2021.2160p.UHD.BluRay.x265-WICK.mkv
    [DEBUG]: 2022-06-11 02:05:24 - /media/movie/Dark.Waters.2019.1080p.BluRay.H264.AAC-RARBG/Dark.Waters.2019.1080p.BluRay.H264.AAC-RARBG.mp4
    [DEBUG]: 2022-06-11 02:05:24 - /media/movie/Uncharted.2022.2160p.MA.WEB-DL.x265.10bit.HDR.DTS-HD.MA.5.1-SWTYBLZ/Uncharted_(2022)_WEBDL-2160p.mkv
    [DEBUG]: 2022-06-11 02:05:24 - /media/movie/Bubble/Bubble_(2022)_HDTV-1080p.mp4
    [DEBUG]: 2022-06-11 02:05:24 - /media/movie/Godzilla King of the Monsters 2019.MULTi.UHD.BluRay.2160p.Atmos.7.1.HEVC.-DDR[EtHD]/Godzilla King of the Monsters_(2019)_Bluray-2160p.mkv
    [DEBUG]: 2022-06-11 02:05:24 - /media/movie/大空头.The.Big.Short.2015.BD1080P.X264.AAC.English.CHS-ENG.Mp4Ba/The Big Short_(2015)_Bluray-1080p.mp4
    [INFO]: 2022-06-11 02:05:24 - SearchMatchedVideoFileFromDirs End
    [INFO]: 2022-06-11 02:05:24 -  --------------------------------------------------
    [INFO]: 2022-06-11 02:05:24 - GetSeriesListFromDirs End
    [INFO]: 2022-06-11 02:05:24 - ------------------------------------------
    [DEBUG]: 2022-06-11 02:05:24 - embyHelper == nil GetSeriesList 0 /media/anime/Odd Taxi
    [DEBUG]: 2022-06-11 02:05:24 - embyHelper == nil GetSeriesList 1 /media/anime/Paripi Koumei
    [DEBUG]: 2022-06-11 02:05:24 - embyHelper == nil GetSeriesList 2 /media/anime/Spy x Family
    [DEBUG]: 2022-06-11 02:05:24 - embyHelper == nil GetSeriesList 3 /media/anime/Summer Time Rendering
    [DEBUG]: 2022-06-11 02:05:24 - embyHelper == nil GetSeriesList 4 /media/anime/Tomodachi Game
    [DEBUG]: 2022-06-11 02:05:24 - embyHelper == nil GetSeriesList 0 /media/tv/Dark
    [DEBUG]: 2022-06-11 02:05:24 - embyHelper == nil GetSeriesList 1 /media/tv/Rick and Morty
    [DEBUG]: 2022-06-11 02:05:24 - embyHelper == nil GetSeriesList 2 /media/tv/Severance.S01.2160p.ATVP.WEB-DL.x265.10bit.HDR.DDP5.1.Atmos-TEPES[rartv]
    [DEBUG]: 2022-06-11 02:05:24 - embyHelper == nil GetSeriesList 3 /media/tv/Strainge Things
    [DEBUG]: 2022-06-11 02:05:24 - embyHelper == nil GetSeriesList 4 /media/tv/轮到你了
    [DEBUG]: 2022-06-11 02:05:24 - Index: 0 baseFuncHandler wg.Add()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 0 Invoke inputDataMap Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 0 Invoke inputDataMap UnLock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 1 baseFuncHandler wg.Add()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 0 baseFuncHandler cancelMapLock Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 0 baseFuncHandler cancelMapLock UnLock()
    [INFO]: 2022-06-11 02:05:24 - updateLocalVideoCacheInfo 0 /media/movie/Sonic the Hedgehog 2 (2022)/Sonic the Hedgehog 2_(2022)_WEBDL-2160p.mkv
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 0
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 1
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 4
    [DEBUG]: 2022-06-11 02:05:24 - Index: 0 baseFuncHandler cancelMapLock Lock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 0 baseFuncHandler cancelMapLock UnLock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 0 baseFuncHandler wg.Done()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 1 Invoke inputDataMap Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 1 Invoke inputDataMap UnLock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 2 baseFuncHandler wg.Add()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 1 baseFuncHandler cancelMapLock Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 1 baseFuncHandler cancelMapLock UnLock()
    [INFO]: 2022-06-11 02:05:24 - updateLocalVideoCacheInfo 1 /media/movie/Fantastic.Beasts.The.Secrets.of.Dumbledore.2022.KORSUB.HDRip.x264.AAC2.0-SHITBOX/Fantastic Beasts The Secrets of Dumbledore_(2022)_WEBDL-2160p.mkv
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 0
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 1
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 4
    [DEBUG]: 2022-06-11 02:05:24 - Index: 1 baseFuncHandler cancelMapLock Lock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 1 baseFuncHandler cancelMapLock UnLock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 1 baseFuncHandler wg.Done()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 2 Invoke inputDataMap Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 2 Invoke inputDataMap UnLock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 3 baseFuncHandler wg.Add()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 2 baseFuncHandler cancelMapLock Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 2 baseFuncHandler cancelMapLock UnLock()
    [INFO]: 2022-06-11 02:05:24 - updateLocalVideoCacheInfo 2 /media/movie/Interstellar (2014)/Interstellar_(2014)_Bluray-2160p.mkv
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 0
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 1
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 4
    [DEBUG]: 2022-06-11 02:05:24 - Index: 2 baseFuncHandler cancelMapLock Lock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 2 baseFuncHandler cancelMapLock UnLock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 2 baseFuncHandler wg.Done()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 3 Invoke inputDataMap Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 3 Invoke inputDataMap UnLock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 4 baseFuncHandler wg.Add()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 3 baseFuncHandler cancelMapLock Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 3 baseFuncHandler cancelMapLock UnLock()
    [INFO]: 2022-06-11 02:05:24 - updateLocalVideoCacheInfo 3 /media/movie/The.Matrix.Resurrections.2021.2160p.UHD.BluRay.x265-WICK/The.Matrix.Resurrections.2021.2160p.UHD.BluRay.x265-WICK.mkv
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 0
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 1
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 4
    [DEBUG]: 2022-06-11 02:05:24 - Index: 3 baseFuncHandler cancelMapLock Lock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 3 baseFuncHandler cancelMapLock UnLock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 3 baseFuncHandler wg.Done()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 4 Invoke inputDataMap Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 4 Invoke inputDataMap UnLock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 5 baseFuncHandler wg.Add()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 4 baseFuncHandler cancelMapLock Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 4 baseFuncHandler cancelMapLock UnLock()
    [INFO]: 2022-06-11 02:05:24 - updateLocalVideoCacheInfo 4 /media/movie/Dark.Waters.2019.1080p.BluRay.H264.AAC-RARBG/Dark.Waters.2019.1080p.BluRay.H264.AAC-RARBG.mp4
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 0
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 1
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 4
    [DEBUG]: 2022-06-11 02:05:24 - Index: 4 baseFuncHandler cancelMapLock Lock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 4 baseFuncHandler cancelMapLock UnLock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 4 baseFuncHandler wg.Done()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 5 Invoke inputDataMap Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 5 Invoke inputDataMap UnLock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 6 baseFuncHandler wg.Add()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 5 baseFuncHandler cancelMapLock Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 5 baseFuncHandler cancelMapLock UnLock()
    [INFO]: 2022-06-11 02:05:24 - updateLocalVideoCacheInfo 5 /media/movie/Uncharted.2022.2160p.MA.WEB-DL.x265.10bit.HDR.DTS-HD.MA.5.1-SWTYBLZ/Uncharted_(2022)_WEBDL-2160p.mkv
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 0
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 1
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 4
    [DEBUG]: 2022-06-11 02:05:24 - Index: 5 baseFuncHandler cancelMapLock Lock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 5 baseFuncHandler cancelMapLock UnLock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 5 baseFuncHandler wg.Done()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 6 Invoke inputDataMap Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 6 Invoke inputDataMap UnLock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 7 baseFuncHandler wg.Add()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 6 baseFuncHandler cancelMapLock Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 6 baseFuncHandler cancelMapLock UnLock()
    [INFO]: 2022-06-11 02:05:24 - updateLocalVideoCacheInfo 6 /media/movie/Bubble/Bubble_(2022)_HDTV-1080p.mp4
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 0
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 1
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 4
    [DEBUG]: 2022-06-11 02:05:24 - Index: 6 baseFuncHandler cancelMapLock Lock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 6 baseFuncHandler cancelMapLock UnLock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 6 baseFuncHandler wg.Done()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 7 Invoke inputDataMap Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 7 Invoke inputDataMap UnLock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 8 baseFuncHandler wg.Add()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 7 baseFuncHandler cancelMapLock Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 7 baseFuncHandler cancelMapLock UnLock()
    [INFO]: 2022-06-11 02:05:24 - updateLocalVideoCacheInfo 7 /media/movie/Godzilla King of the Monsters 2019.MULTi.UHD.BluRay.2160p.Atmos.7.1.HEVC.-DDR[EtHD]/Godzilla King of the Monsters_(2019)_Bluray-2160p.mkv
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 0
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 1
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 4
    [DEBUG]: 2022-06-11 02:05:24 - Index: 7 baseFuncHandler cancelMapLock Lock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 7 baseFuncHandler cancelMapLock UnLock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 7 baseFuncHandler wg.Done()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 8 Invoke inputDataMap Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 8 Invoke inputDataMap UnLock()
    [DEBUG]: 2022-06-11 02:05:24 - Hold()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 8 baseFuncHandler cancelMapLock Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 8 baseFuncHandler cancelMapLock UnLock()
    [INFO]: 2022-06-11 02:05:24 - updateLocalVideoCacheInfo 8 /media/movie/大空头.The.Big.Short.2015.BD1080P.X264.AAC.English.CHS-ENG.Mp4Ba/The Big Short_(2015)_Bluray-1080p.mp4
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 0
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 1
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 4
    [DEBUG]: 2022-06-11 02:05:24 - Index: 8 baseFuncHandler cancelMapLock Lock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 8 baseFuncHandler cancelMapLock UnLock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 8 baseFuncHandler wg.Done()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 0 baseFuncHandler wg.Add()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 0 Invoke inputDataMap Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 0 Invoke inputDataMap UnLock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 1 baseFuncHandler wg.Add()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 0 baseFuncHandler cancelMapLock Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 0 baseFuncHandler cancelMapLock UnLock()
    [INFO]: 2022-06-11 02:05:24 - updateLocalVideoCacheInfo 0 /media/anime/Odd Taxi
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 0
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 1
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 4
    [DEBUG]: 2022-06-11 02:05:24 - Index: 0 baseFuncHandler cancelMapLock Lock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 0 baseFuncHandler cancelMapLock UnLock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 0 baseFuncHandler wg.Done()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 1 Invoke inputDataMap Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 1 Invoke inputDataMap UnLock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 2 baseFuncHandler wg.Add()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 1 baseFuncHandler cancelMapLock Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 1 baseFuncHandler cancelMapLock UnLock()
    [INFO]: 2022-06-11 02:05:24 - updateLocalVideoCacheInfo 1 /media/anime/Paripi Koumei
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 0
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 1
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 4
    [DEBUG]: 2022-06-11 02:05:24 - Index: 1 baseFuncHandler cancelMapLock Lock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 1 baseFuncHandler cancelMapLock UnLock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 1 baseFuncHandler wg.Done()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 2 Invoke inputDataMap Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 2 Invoke inputDataMap UnLock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 3 baseFuncHandler wg.Add()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 2 baseFuncHandler cancelMapLock Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 2 baseFuncHandler cancelMapLock UnLock()
    [INFO]: 2022-06-11 02:05:24 - updateLocalVideoCacheInfo 2 /media/anime/Spy x Family
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 0
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 1
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 4
    [DEBUG]: 2022-06-11 02:05:24 - Index: 2 baseFuncHandler cancelMapLock Lock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 2 baseFuncHandler cancelMapLock UnLock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 2 baseFuncHandler wg.Done()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 3 Invoke inputDataMap Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 3 Invoke inputDataMap UnLock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 4 baseFuncHandler wg.Add()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 3 baseFuncHandler cancelMapLock Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 3 baseFuncHandler cancelMapLock UnLock()
    [INFO]: 2022-06-11 02:05:24 - updateLocalVideoCacheInfo 3 /media/anime/Summer Time Rendering
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 0
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 1
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 4
    [DEBUG]: 2022-06-11 02:05:24 - Index: 3 baseFuncHandler cancelMapLock Lock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 3 baseFuncHandler cancelMapLock UnLock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 3 baseFuncHandler wg.Done()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 4 Invoke inputDataMap Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 4 Invoke inputDataMap UnLock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 0 baseFuncHandler wg.Add()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 4 baseFuncHandler cancelMapLock Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 4 baseFuncHandler cancelMapLock UnLock()
    [INFO]: 2022-06-11 02:05:24 - updateLocalVideoCacheInfo 4 /media/anime/Tomodachi Game
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 0
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 1
    [DEBUG]: 2022-06-11 02:05:24 - GetVideoIMDBInfoFromLocal 4
    [DEBUG]: 2022-06-11 02:05:24 - Index: 4 baseFuncHandler cancelMapLock Lock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 4 baseFuncHandler cancelMapLock UnLock() defer
    [DEBUG]: 2022-06-11 02:05:24 - Index: 4 baseFuncHandler wg.Done()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 0 Invoke inputDataMap Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 0 Invoke inputDataMap UnLock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 1 baseFuncHandler wg.Add()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 0 baseFuncHandler cancelMapLock Lock()
    [DEBUG]: 2022-06-11 02:05:24 - Index: 0 baseFuncHandler cancelMapLock UnLock()
    [INFO]: 2022-06-11 02:05:24 - updateLocalVideoCacheInfo 0 /media/tv/Dark
    [DEBUG]: 2022-06-11 02:05:25 - GetVideoIMDBInfoFromLocal 0
    [DEBUG]: 2022-06-11 02:05:25 - GetVideoIMDBInfoFromLocal 1
    [DEBUG]: 2022-06-11 02:05:25 - GetVideoIMDBInfoFromLocal 4
    [DEBUG]: 2022-06-11 02:05:25 - Index: 0 baseFuncHandler cancelMapLock Lock() defer
    [DEBUG]: 2022-06-11 02:05:25 - Index: 0 baseFuncHandler cancelMapLock UnLock() defer
    [DEBUG]: 2022-06-11 02:05:25 - Index: 0 baseFuncHandler wg.Done()
    [DEBUG]: 2022-06-11 02:05:25 - Index: 1 Invoke inputDataMap Lock()
    [DEBUG]: 2022-06-11 02:05:25 - Index: 1 Invoke inputDataMap UnLock()
    [DEBUG]: 2022-06-11 02:05:25 - Index: 2 baseFuncHandler wg.Add()
    [DEBUG]: 2022-06-11 02:05:25 - Index: 1 baseFuncHandler cancelMapLock Lock()
    [DEBUG]: 2022-06-11 02:05:25 - Index: 1 baseFuncHandler cancelMapLock UnLock()
    [INFO]: 2022-06-11 02:05:25 - updateLocalVideoCacheInfo 1 /media/tv/Rick and Morty
    [DEBUG]: 2022-06-11 02:05:25 - GetVideoIMDBInfoFromLocal 0
    [DEBUG]: 2022-06-11 02:05:25 - GetVideoIMDBInfoFromLocal 1
    [DEBUG]: 2022-06-11 02:05:25 - GetVideoIMDBInfoFromLocal 4
    [DEBUG]: 2022-06-11 02:05:25 - Index: 1 baseFuncHandler cancelMapLock Lock() defer
    [DEBUG]: 2022-06-11 02:05:25 - Index: 1 baseFuncHandler cancelMapLock UnLock() defer
    [DEBUG]: 2022-06-11 02:05:25 - Index: 1 baseFuncHandler wg.Done()
    [DEBUG]: 2022-06-11 02:05:25 - Index: 2 Invoke inputDataMap Lock()
    [DEBUG]: 2022-06-11 02:05:25 - Index: 2 Invoke inputDataMap UnLock()
    [DEBUG]: 2022-06-11 02:05:25 - Index: 3 baseFuncHandler wg.Add()
    [DEBUG]: 2022-06-11 02:05:25 - Index: 2 baseFuncHandler cancelMapLock Lock()
    [DEBUG]: 2022-06-11 02:05:25 - Index: 2 baseFuncHandler cancelMapLock UnLock()
    [INFO]: 2022-06-11 02:05:25 - updateLocalVideoCacheInfo 2 /media/tv/Severance.S01.2160p.ATVP.WEB-DL.x265.10bit.HDR.DDP5.1.Atmos-TEPES[rartv]
    [DEBUG]: 2022-06-11 02:05:25 - GetVideoIMDBInfoFromLocal 0
    [DEBUG]: 2022-06-11 02:05:25 - GetVideoIMDBInfoFromLocal 1
    [DEBUG]: 2022-06-11 02:05:25 - GetVideoIMDBInfoFromLocal 4
    [DEBUG]: 2022-06-11 02:05:25 - Index: 2 baseFuncHandler cancelMapLock Lock() defer
    [DEBUG]: 2022-06-11 02:05:25 - Index: 2 baseFuncHandler cancelMapLock UnLock() defer
    [DEBUG]: 2022-06-11 02:05:25 - Index: 2 baseFuncHandler wg.Done()
    [DEBUG]: 2022-06-11 02:05:25 - Index: 3 Invoke inputDataMap Lock()
    [DEBUG]: 2022-06-11 02:05:25 - Index: 3 Invoke inputDataMap UnLock()
    [DEBUG]: 2022-06-11 02:05:25 - Index: 4 baseFuncHandler wg.Add()
    [DEBUG]: 2022-06-11 02:05:25 - Index: 3 baseFuncHandler cancelMapLock Lock()
    [DEBUG]: 2022-06-11 02:05:25 - Index: 3 baseFuncHandler cancelMapLock UnLock()
    [INFO]: 2022-06-11 02:05:25 - updateLocalVideoCacheInfo 3 /media/tv/Strainge Things
    [DEBUG]: 2022-06-11 02:05:25 - GetVideoIMDBInfoFromLocal 0
    [DEBUG]: 2022-06-11 02:05:25 - GetVideoIMDBInfoFromLocal 1
    [DEBUG]: 2022-06-11 02:05:25 - GetVideoIMDBInfoFromLocal 4
    [DEBUG]: 2022-06-11 02:05:25 - Index: 3 baseFuncHandler cancelMapLock Lock() defer
    [DEBUG]: 2022-06-11 02:05:25 - Index: 3 baseFuncHandler cancelMapLock UnLock() defer
    [DEBUG]: 2022-06-11 02:05:25 - Index: 3 baseFuncHandler wg.Done()
    [DEBUG]: 2022-06-11 02:05:25 - Index: 4 Invoke inputDataMap Lock()
    [DEBUG]: 2022-06-11 02:05:25 - Index: 4 Invoke inputDataMap UnLock()
    [DEBUG]: 2022-06-11 02:05:25 - Hold()
    [DEBUG]: 2022-06-11 02:05:25 - Index: 4 baseFuncHandler cancelMapLock Lock()
    [DEBUG]: 2022-06-11 02:05:25 - Index: 4 baseFuncHandler cancelMapLock UnLock()
    [INFO]: 2022-06-11 02:05:25 - updateLocalVideoCacheInfo 4 /media/tv/轮到你了
    [DEBUG]: 2022-06-11 02:05:25 - GetVideoIMDBInfoFromLocal 0
    [DEBUG]: 2022-06-11 02:05:25 - GetVideoIMDBInfoFromLocal 1
    [DEBUG]: 2022-06-11 02:05:25 - GetVideoIMDBInfoFromLocal 4
    [DEBUG]: 2022-06-11 02:05:25 - Index: 4 baseFuncHandler cancelMapLock Lock() defer
    [DEBUG]: 2022-06-11 02:05:25 - Index: 4 baseFuncHandler cancelMapLock UnLock() defer
    [DEBUG]: 2022-06-11 02:05:25 - Index: 4 baseFuncHandler wg.Done()
    [INFO]: 2022-06-11 02:05:25 - ScanNormalMovieAndSeries End
    [INFO]: 2022-06-11 02:05:25 - ScanEmbyMovieAndSeries Start...
    [INFO]: 2022-06-11 02:05:25 - Forced Scan And DownSub, tmpSetting.EmbySettings.MaxRequestVideoNumber = 1000000
    [INFO]: 2022-06-11 02:05:25 - Movie Sub Dl From Emby API...
    [INFO]: 2022-06-11 02:05:25 - Refresh Emby Sub List Start...
    [DEBUG]: 2022-06-11 02:05:25 - Emby Setting SkipWatched = false
    [DEBUG]: 2022-06-11 02:05:25 - RefreshRecentlyVideoInfo - GetRecentlyItems Count 0
    [INFO]: 2022-06-11 02:05:25 - Refresh Emby Sub List Success
    [INFO]: 2022-06-11 02:05:25 - getUpdateVideoListFromEmby Start...
    [DEBUG]: 2022-06-11 02:05:25 - Emby Setting SkipWatched = false
    [DEBUG]: 2022-06-11 02:05:25 - -----------------
    [DEBUG]: 2022-06-11 02:05:25 - GetRecentlyAddVideoListWithNoChineseSubtitle - GetRecentlyItems Count 0
    [DEBUG]: 2022-06-11 02:05:25 - -----------------
    [DEBUG]: 2022-06-11 02:05:25 - getMoreVideoInfoList found valid movie 0
    [DEBUG]: 2022-06-11 02:05:25 - -----------------
    [DEBUG]: 2022-06-11 02:05:25 - getMoreVideoInfoList found valid series 0
    [DEBUG]: 2022-06-11 02:05:25 - -----------------
    [DEBUG]: 2022-06-11 02:05:25 - -----------------
    [DEBUG]: 2022-06-11 02:05:25 - GetRecentlyAddVideoList movie 0
    [DEBUG]: 2022-06-11 02:05:25 - -----------------
    [DEBUG]: 2022-06-11 02:05:25 - GetRecentlyAddVideoList series 0
    [DEBUG]: 2022-06-11 02:05:25 - -----------------
    [DEBUG]: 2022-06-11 02:05:25 - getUpdateVideoListFromEmby - DebugInfo - movieFileFullPathList Start
    [DEBUG]: 2022-06-11 02:05:25 - getUpdateVideoListFromEmby - DebugInfo - movieFileFullPathList End
    [DEBUG]: 2022-06-11 02:05:25 - getUpdateVideoListFromEmby - DebugInfo - seriesSubNeedDlMap Start
    [DEBUG]: 2022-06-11 02:05:25 - getUpdateVideoListFromEmby - DebugInfo - seriesSubNeedDlMap End
    [INFO]: 2022-06-11 02:05:25 - getUpdateVideoListFromEmby End
    [INFO]: 2022-06-11 02:05:25 - ScanEmbyMovieAndSeries End
    [DEBUG]: 2022-06-11 02:05:25 - Hold()
    [INFO]: 2022-06-11 02:05:25 - Video Scan End By webui
    [INFO]: 2022-06-11 02:05:25 - ------------------------------------
    
  • windows版启动报错

    windows版启动报错

    你使用的 chinesesubfinder 是什么版本,什么环境?

    chinesesubfinder-0.18.7-Windows-x86_64 win11和win10ltsc版

    你遇到什么问题了?

    启动的时候报缺少dll文件,修复之后报0xc000007b错误,已经试过修复运行库什么的但是没什么用。

    你的问题弄重现嘛?

    能够重现

  • zmk 对剧集优先使用imdb查询

    zmk 对剧集优先使用imdb查询

    最近遇到有剧集被下载了另一个不相干剧集的字幕, 于是简单调查了一番. 目前使用 剧集名+“第x季” 关键词来查询zmk, 但是似乎不够准确: https://zmk.pw/search?q=Minx+%E7%AC%AC%E4%B8%80%E5%AD%A3 返回了另一个剧集, 正确的应该是 https://zmk.pw/subs/60982.html

    如果使用imdb查询的话, 第一季可以直接用series的idmb id, 后面的季需要使用每季第一集对应的imdb

  • 新版本CPU爆炸

    新版本CPU爆炸

    你使用的 chinesesubfinder 是什么版本,什么环境?

    chinesesubfinder 版本: v0.21.1

    环境: docker or Linux(unraid)

    你遇到什么问题了?

    启动后,过一段时间,具体多长时间不清楚,CPU就会一直处于占满状态,我是12核的CPU,全部占满!上一个版本也有这个问题,就升级到了v0.21.1,问题依旧存在。

    你的问题弄重现嘛?

    能够重新,在我的机器上是必现问题

    你期望的结果

    正常运行,不要占那么多CPU

    给出当前程序的配置文件

    {
        "user_info": {
        },
        "common_settings": {
            "scan_interval": "6h",
            "threads": 1,
            "run_scan_at_start_up": false,
            "movie_paths": [
                "/media/movies"
            ],
            "series_paths": [
                "/media/tv"
            ]
        },
        "advanced_settings": {
            "proxy_settings": {
                "use_http_proxy": false,
                "http_proxy_address": ""
            },
            "debug_mode": false,
            "save_full_season_tmp_subtitles": false,
            "sub_type_priority": 0,
            "sub_name_formatter": 1,
            "save_multi_sub": false,
            "custom_video_exts": [],
            "fix_time_line": true,
            "topic": 1
        },
        "emby_settings": {
            "enable": false,
            "address_url": "",
            "api_key": "",
            "max_request_video_number": 500,
            "skip_watched": false,
            "movie_paths_mapping": {
                "/media/movies": ""
            },
            "series_paths_mapping": {
                "/media/tv": ""
            }
        },
        "developer_settings": {
            "enable": false,
            "bark_server_address": ""
        },
        "timeline_fixer_settings": {
            "max_offset_time": 120,
            "min_offset": 0.1
        },
        "experimental_function": {
            "auto_change_sub_encode": {
                "enable": false,
                "des_encode_type": 0
            }
        }
    }
    

    如果是使用 Docker,请给出对应的配置信息

    端口 19035:19035 路径 /mnt/user/appdata/chinesesubfinder:/config 路径 /mnt/user/download/media/movies/:/media/movies/data1 路径 /mnt/user/download/media/movies2/:/media/movies/data2 路径 /mnt/user/download/media/tv/:/media/tv/data1 变量 PUID=99 变量 GUID=100

    请给出当次问题的完整日志

    ChineseSubFinder.log

  • [bug] How to run test for some pkg

    [bug] How to run test for some pkg

    Hi i am not familar with testing in golang, wondering if config.yaml is needed for testing like sub_parser_hub

    go test -v  ./internal/pkg/sub_parser_hub/ # error
    # after sample config
    cp config.yaml ./internal/pkg/sub_parser_hub/
    # normal test
    
    panic: GetConfig - initConfigure error reading config:Config File "config" Not Found in "[/Users/wyq977/projects/ChineseSubFinder/internal/pkg/sub_parser_hub]" [recovered]
            panic: GetConfig - initConfigure error reading config:Config File "config" Not Found in "[/Users/wyq977/projects/ChineseSubFinder/internal/pkg/sub_parser_hub]"
    
    
  • docker 部署  不能打开wengui

    docker 部署 不能打开wengui

    你使用的 chinesesubfinder 是什么版本,什么环境?

    chinesesubfinder 版本: vx.x.x 29.3 环境: docker or Window or Linux or MAC lubuntu 20.04LTs docker 在程序运行日志头部或者 Web UI 可以看到

    你遇到什么问题了?

    部署完毕以后等了好久 也不能打开webgui ip:19035

    你的问题弄重现嘛?

    能够重现

    你期望的结果

    可以打开webgui

    给出当前程序的配置文件

    /volume1/docker/chinesesubfinder/config:/config 下,ChineseSubFinderSettings.json,记得把你的用户名、密码、Emby API 敏感信息删除

    可以复制上面的配置,使用类似在线 json 格式化的工具进行一次处理,方便阅读,JSON 在线解析及格式化验证 - JSON.cn

    {
        "SpeedDevMode":false,
        "user_info":{
            "username":"",
            "password":""
        },
        "common_settings":{
            "interval_or_assign_or_custom":0,
            "scan_interval":"@every 6h",
            "threads":1,
            "run_scan_at_start_up":true,
            "movie_paths":[
    
            ],
            "series_paths":[
    
            ],
            "local_static_file_port":"19037"
        },
        "subtitle_sources":{
            "assrt_settings":{
                "enabled":false,
                "token":""
            }
        },
        "advanced_settings":{
            "proxy_settings":{
                "use_proxy":false,
                "use_which_proxy_protocol":"[http](https://www.json.cn/http)",
                "local_http_proxy_server_port":"19036",
                "input_proxy_address":"127.0.0.1",
                "input_proxy_port":"10809",
                "need_pwd":false,
                "input_proxy_username":"",
                "input_proxy_password":""
            },
            "debug_mode":false,
            "save_full_season_tmp_subtitles":false,
            "sub_type_priority":0,
            "sub_name_formatter":0,
            "save_multi_sub":false,
            "custom_video_exts":[
    
            ],
            "fix_time_line":false,
            "topic":1,
            "suppliers_settings":{
                "xunlei":{
                    "name":"xunlei",
                    "root_url":"http://sub.xmp.sandai.net:8000/subxl/%s.json",
                    "daily_download_limit":-1
                },
                "shooter":{
                    "name":"shooter",
                    "root_url":"https://www.shooter.cn/api/subapi.php",
                    "daily_download_limit":-1
                },
                "subhd":{
                    "name":"subhd",
                    "root_url":"https://subhd.tv/",
                    "daily_download_limit":20
                },
                "zimuku":{
                    "name":"zimuku",
                    "root_url":"https://zimuku.org/",
                    "daily_download_limit":20
                },
                "assrt":{
                    "name":"assrt",
                    "root_url":"https://api.assrt.net/v1",
                    "daily_download_limit":-1
                },
                "a4k":{
                    "name":"a4k",
                    "root_url":"https://www.a4k.net/",
                    "daily_download_limit":-1
                }
            },
            "scan_logic":{
                "skip_chinese_movie":false,
                "skip_chinese_series":false
            },
            "task_queue":{
                "max_retry_times":3,
                "one_job_time_out":300,
                "interval":10,
                "expiration_time":90,
                "download_sub_during_x_days":7,
                "one_sub_download_interval":12,
                "check_pulic_ip_target_site":""
            },
            "download_file_cache":{
                "ttl":4320,
                "unit":"hour"
            }
        },
        "emby_settings":{
            "enable":false,
            "address_url":"",
            "api_key":"",
            "max_request_video_number":500,
            "skip_watched":false,
            "movie_paths_mapping":{
    
            },
            "series_paths_mapping":{
    
            },
            "auto_or_manual":false,
            "threads":4
        },
        "developer_settings":{
            "enable":false,
            "bark_server_address":""
        },
        "timeline_fixer_settings":{
            "max_offset_time":120,
            "min_offset":0.1
        },
        "experimental_function":{
            "auto_change_sub_encode":{
                "enable":false,
                "des_encode_type":0
            },
            "chs_cht_changer":{
                "enable":false,
                "des_chinese_language_type":0
            },
            "remote_chrome_settings":{
                "enable":false,
                "remote_docker_url":"",
                "remote_adblock_path":"",
                "remote_user_data_dir":""
            },
            "api_key_settings":{
                "enabled":false,
                "key":""
            },
            "local_chrome_settings":{
                "enabled":false,
                "local_chrome_exe_f_path":""
            },
            "share_sub_settings":{
                "share_sub_enabled":false
            }
        }
    }
    

    如果是使用 Docker,请给出对应的配置信息

    我是Ubuntu20.04 LTs
    docker-composer部署

    chinesesubfinder: image: allanpk716/chinesesubfinder:latest volumes: - /mnt/chinesesubfinder/config:/config - /mnt/chinesesubfinder/cache:/app/cache - /mnt/film/film:/media environment: - PUID=1000 - PGID=1000 - TZ=Asia/Shanghai - PERMS=true ports: - 19035:19035 - 19037:19037 restart: unless-stopped

    请给出当次问题的完整日志

    日志在程序的 Logs 目录下,如果你用的是 docker ,那么需要你映射出来。

    [INFO]: 2022-05-31 14:57:17 - ChineseSubFinder Version: v0.29-DockerBeta0 [INFO]: 2022-05-31 14:57:17 - Reload Log Settings, level = Info [INFO]: 2022-05-31 14:57:17 - Speed Dev Mode is Off [INFO]: 2022-05-31 14:57:17 - PreJob.HotFix() Start... [INFO]: 2022-05-31 14:57:17 - If you have a lot of videos, it may take a lot of time, just wait... [INFO]: 2022-05-31 14:57:17 - PreJob.HotFix() End [INFO]: 2022-05-31 14:57:17 - PreJob.ChangeSubNameFormat() Start... [INFO]: 2022-05-31 14:57:17 - If you have a lot of videos, it may take a lot of time, just wait... [INFO]: 2022-05-31 14:57:17 - DesSubFormatter == LateTimeSubFormatter then skip process [INFO]: 2022-05-31 14:57:17 - PreJob.ChangeSubNameFormat() End [INFO]: 2022-05-31 14:57:17 - PreJob.ReloadBrowser() Start... [INFO]: 2022-05-31 14:57:17 - releaseAdblock start [INFO]: 2022-05-31 14:57:18 - releaseAdblock end

  • 库中不显示任何文件

    库中不显示任何文件

    你使用的 chinesesubfinder 是什么版本,什么环境?

    chinesesubfinder 版本: v0.35.1

    环境: docker(unraid)

    在程序运行日志头部或者 Web UI 可以看到 image image

    你遇到什么问题了?

    库中不显示任何媒体文件,文件在控制台可以正常读取,日志中也有显示,目录已经过刮削,存在nfo文件

    你的问题弄重现嘛?

    稳定重现

    你期望的结果

    库中不显示电影或剧集文件

    给出当前程序的配置文件

    /volume1/docker/chinesesubfinder/config:/config 下,ChineseSubFinderSettings.json,记得把你的用户名、密码、Emby API 敏感信息删除

    可以复制上面的配置,使用类似在线 json 格式化的工具进行一次处理,方便阅读,JSON 在线解析及格式化验证 - JSON.cn

    {
        "SpeedDevMode":false,
        "user_info":{
            "username":"admin",
            "password":"pwd"
        },
        "common_settings":{
            "interval_or_assign_or_custom":0,
            "scan_interval":"@every 6h",
            "threads":1,
            "run_scan_at_start_up":true,
            "movie_paths":[
                "/media/movies"
            ],
            "series_paths":[
                "/media/TVShows"
            ],
            "local_static_file_port":"19037"
        },
        "subtitle_sources":{
            "assrt_settings":{
                "enabled":false,
                "token":""
            }
        },
        "advanced_settings":{
            "proxy_settings":{
                "use_proxy":false,
                "use_which_proxy_protocol":"[http](https://www.json.cn/http)",
                "local_http_proxy_server_port":"19036",
                "input_proxy_address":"127.0.0.1",
                "input_proxy_port":"10809",
                "need_pwd":false,
                "input_proxy_username":"",
                "input_proxy_password":""
            },
            "debug_mode":false,
            "save_full_season_tmp_subtitles":false,
            "sub_type_priority":0,
            "sub_name_formatter":0,
            "save_multi_sub":false,
            "custom_video_exts":[
    
            ],
            "fix_time_line":false,
            "topic":1,
            "suppliers_settings":{
                "csf":{
                    "name":"csf",
                    "root_url":"haha",
                    "daily_download_limit":-1
                },
                "xunlei":{
                    "name":"xunlei",
                    "root_url":"http://sub.xmp.sandai.net:8000/subxl/%s.json",
                    "daily_download_limit":-1
                },
                "shooter":{
                    "name":"shooter",
                    "root_url":"https://www.shooter.cn/api/subapi.php",
                    "daily_download_limit":-1
                },
                "subhd":{
                    "name":"subhd",
                    "root_url":"https://subhd.tv/",
                    "daily_download_limit":20
                },
                "zimuku":{
                    "name":"zimuku",
                    "root_url":"https://zimuku.org/",
                    "daily_download_limit":20
                },
                "assrt":{
                    "name":"assrt",
                    "root_url":"https://api.assrt.net/v1",
                    "daily_download_limit":-1
                },
                "a4k":{
                    "name":"a4k",
                    "root_url":"https://www.a4k.net/",
                    "daily_download_limit":-1
                }
            },
            "scan_logic":{
                "skip_chinese_movie":false,
                "skip_chinese_series":false
            },
            "task_queue":{
                "max_retry_times":3,
                "one_job_time_out":300,
                "interval":10,
                "expiration_time":90,
                "download_sub_during_x_days":7,
                "one_sub_download_interval":12,
                "check_pulic_ip_target_site":""
            },
            "download_file_cache":{
                "ttl":4320,
                "unit":"hour"
            }
        },
        "emby_settings":{
            "enable":true,
            "address_url":"http://192.168.31.21:8096/",
            "api_key":"embyapikey",
            "max_request_video_number":3000,
            "skip_watched":false,
            "movie_paths_mapping":{
                "/media/movies":""
            },
            "series_paths_mapping":{
                "/media/TVShows":""
            },
            "auto_or_manual":true,
            "threads":4
        },
        "developer_settings":{
            "enable":false,
            "bark_server_address":""
        },
        "timeline_fixer_settings":{
            "max_offset_time":700,
            "min_offset":0.2
        },
        "experimental_function":{
            "auto_change_sub_encode":{
                "enable":false,
                "des_encode_type":0
            },
            "chs_cht_changer":{
                "enable":false,
                "des_chinese_language_type":0
            },
            "remote_chrome_settings":{
                "enable":false,
                "remote_docker_url":"",
                "remote_adblock_path":"",
                "remote_user_data_dir":""
            },
            "api_key_settings":{
                "enabled":false,
                "key":""
            },
            "local_chrome_settings":{
                "enabled":false,
                "local_chrome_exe_f_path":""
            },
            "share_sub_settings":{
                "share_sub_enabled":false
            }
        }
    }
    

    如果是使用 Docker,请给出对应的配置信息

    比如 Docker-Compose 信息,如果是其他方式使用忽略 docker-cli和unraid自带的CA都试过了 docker run -d
    -v /mnt/user/appdata/chinesesubfinder/config:/config # 冒号左边请修改为你想在主机上保存配置、日志等文件的路径
    -v /mnt/user/mydata:/media # 请修改为需要下载字幕的媒体目录,冒号右边可以改成你方便记忆的目录,多个媒体目录需要添加多个-v映射
    -v /mnt/user/appdata/chinesesubfinder/browser:/root/.cache/rod/browser # 容器重启后无需再次下载 chrome,除非 go-rod 更新
    -e PUID=1026
    -e PGID=100
    -e PERMS=true # 是否重设/media权限
    -e TZ=Asia/Shanghai # 时区
    -e UMASK=022 # 权限掩码
    -p 19035:19035 # 从0.20.0版本开始,通过webui来设置
    -p 19037:19037 # webui 的视频列表读取图片用,务必设置不要暴露到外网
    --name chinesesubfinder
    --hostname chinesesubfinder
    --log-driver "json-file"
    --log-opt "max-size=100m" # 限制docker控制台日志大小,可自行调整
    allanpk716/chinesesubfinder

    给出媒体文件夹的目录结构

    image

    首先你需要去看主页的部署教程,确认你目录结构是规范的,如果你觉得没问题,那么请除非目录结构截图

    是否看过对应的目录结构要求文档?

    请给出当次问题的完整日志

    日志在程序的 Logs 目录下,如果你用的是 docker ,那么需要你映射出来。

    /volume1/docker/chinesesubfinder/config:/config 下,Logs 中 [INFO]: 2022-07-26 13:59:17 - updateLocalVideoCacheInfo 57 /media/TVShows/甜蜜家园 (2020) [INFO]: 2022-07-26 13:59:17 - updateLocalVideoCacheInfo 58 /media/TVShows/神探夏洛克 (2010) [INFO]: 2022-07-26 13:59:17 - updateLocalVideoCacheInfo 59 /media/TVShows/美好的日子 [INFO]: 2022-07-26 13:59:17 - updateLocalVideoCacheInfo 60 /media/TVShows/致不灭的你 (2021) [INFO]: 2022-07-26 13:59:17 - updateLocalVideoCacheInfo 61 /media/TVShows/虹猫蓝兔七侠传 The Story Of Hongmao And Lantu [INFO]: 2022-07-26 13:59:17 - updateLocalVideoCacheInfo 62 /media/TVShows/行尸走肉 (2010) [INFO]: 2022-07-26 13:59:17 - updateLocalVideoCacheInfo 63 /media/TVShows/豪斯医生 [INFO]: 2022-07-26 13:59:17 - updateLocalVideoCacheInfo 64 /media/TVShows/赘婿 (2021) [INFO]: 2022-07-26 13:59:17 - updateLocalVideoCacheInfo 65 /media/TVShows/邊域謎城 (2016) [INFO]: 2022-07-26 13:59:17 - updateLocalVideoCacheInfo 66 /media/TVShows/雪国列车 (2020) [INFO]: 2022-07-26 13:59:17 - updateLocalVideoCacheInfo 67 /media/TVShows/鱿鱼游戏 (2021) [INFO]: 2022-07-26 13:59:17 - ScanNormalMovieAndSeries End [INFO]: 2022-07-26 13:59:17 - ScanEmbyMovieAndSeries Start... [INFO]: 2022-07-26 13:59:17 - Forced Scan And DownSub, tmpSetting.EmbySettings.MaxRequestVideoNumber = 1000000 [INFO]: 2022-07-26 13:59:17 - Movie Sub Dl From Emby API... [INFO]: 2022-07-26 13:59:17 - Refresh Emby Sub List Start... [ERROR]: 2022-07-26 13:59:20 - Refresh Emby Sub List Error [ERROR]: 2022-07-26 13:59:20 - refreshEmbySubList Get "http://192.168.31.21:8096/emby/Items?Filters=IsNotFolder&IncludeItemTypes=Episode%2CMovie&IsUnaired=false&Limit=1000000&Recursive=true&SortBy=DateCreated&SortOrder=Descending&api_key=embyapikey": dial tcp 192.168.31.21:8096: connect: no route to host [INFO]: 2022-07-26 13:59:20 - ScanEmbyMovieAndSeries End [ERROR]: 2022-07-26 13:59:20 - ScanEmbyMovieAndSeries Get "http://192.168.31.21:8096/emby/Items?Filters=IsNotFolder&IncludeItemTypes=Episode%2CMovie&IsUnaired=false&Limit=1000000&Recursive=true&SortBy=DateCreated&SortOrder=Descending&api_key=embyapikey": dial tcp 192.168.31.21:8096: connect: no route to host [INFO]: 2022-07-26 13:59:20 - Video Scan Finished By webui, cost: 0.27129502095 min [INFO]: 2022-07-26 13:59:20 - ------------------------------------ image 程序有媒体文件777权限

  • 请问下韩剧目前的时间轴矫正都是错误的是什么原因

    请问下韩剧目前的时间轴矫正都是错误的是什么原因

    你使用的 chinesesubfinder 是什么版本,什么环境?

    chinesesubfinder 版本: v0.4.0

    环境: docker or Window or Linux or MAC

    你想要新增或者改进什么功能?

    希望能支持亚洲的语言,韩剧和日剧之类的

    这个功能有什么可以参考的资料吗?

    这个功能有什么可以参考的资料吗?是否可以列举一些.

  • 更新后还是报错

    更新后还是报错

    你使用的 chinesesubfinder 是什么版本,什么环境?

    chinesesubfinder 版本: v0.26.1

    环境: docker for ubuntu

    在程序运行日志头部或者 Web UI 可以看到

    你遇到什么问题了?

    后台日志一直报错

    你的问题弄重现嘛?

    能够重现

    你期望的结果

    描述以下你期望的结果

    给出当前程序的配置文件

    /volume1/docker/chinesesubfinder/config:/config 下,ChineseSubFinderSettings.json,记得把你的用户名、密码、Emby API 敏感信息删除

    可以复制上面的配置,使用类似在线 json 格式化的工具进行一次处理,方便阅读,JSON 在线解析及格式化验证 - JSON.cn

        "SpeedDevMode":false,
        "user_info":{
            "username":"root",
            "password":"passwd"
        },
        "common_settings":{
            "interval_or_assign_or_custom":0,
            "scan_interval":"@every 6h",
            "threads":1,
            "run_scan_at_start_up":true,
            "movie_paths":[
                "/media/Movies"
            ],
            "series_paths":[
                "/media/TV"
            ],
            "local_static_file_port":"19037"
        },
        "advanced_settings":{
            "proxy_settings":{
                "use_proxy":false,
                "use_which_proxy_protocol":"http",
                "local_http_proxy_server_port":"19036",
                "input_proxy_address":"127.0.0.1",
                "input_proxy_port":"10809",
                "need_pwd":false,
                "input_proxy_username":"",
                "input_proxy_password":""
            },
            "debug_mode":false,
            "save_full_season_tmp_subtitles":false,
            "sub_type_priority":0,
            "sub_name_formatter":1,
            "save_multi_sub":false,
            "custom_video_exts":[
    
            ],
            "fix_time_line":false,
            "topic":1,
            "suppliers_settings":{
                "xunlei":{
                    "name":"xunlei",
                    "root_url":"http://sub.xmp.sandai.net:8000/subxl/%s.json",
                    "daily_download_limit":-1
                },
                "shooter":{
                    "name":"shooter",
                    "root_url":"https://www.shooter.cn/api/subapi.php",
                    "daily_download_limit":-1
                },
                "subhd":{
                    "name":"subhd",
                    "root_url":"https://subhd.tv/",
                    "daily_download_limit":20
                },
                "zimuku":{
                    "name":"zimuku",
                    "root_url":"https://zimuku.org/",
                    "daily_download_limit":20
                }
            },
            "scan_logic":{
                "skip_chinese_movie":true,
                "skip_chinese_series":true
            },
            "task_queue":{
                "max_retry_times":3,
                "one_job_time_out":300,
                "interval":10,
                "expiration_time":100000,
                "download_sub_during_x_days":100000,
                "one_sub_download_interval":6,
                "check_pulic_ip_target_site":""
            },
            "download_file_cache":{
                "ttl":4320,
                "unit":"hour"
            }
        },
        "emby_settings":{
            "enable":false,
            "address_url":"",
            "api_key":"",
            "max_request_video_number":500,
            "skip_watched":false,
            "movie_paths_mapping":{
                "/media/Movies":""
            },
            "series_paths_mapping":{
                "/media/TV":""
            },
            "auto_or_manual":false,
            "threads":4
        },
        "developer_settings":{
            "enable":false,
            "bark_server_address":""
        },
        "timeline_fixer_settings":{
            "max_offset_time":120,
            "min_offset":0.1
        },
        "experimental_function":{
            "auto_change_sub_encode":{
                "enable":false,
                "des_encode_type":0
            },
            "chs_cht_changer":{
                "enable":false,
                "des_chinese_language_type":0
            },
            "remote_chrome_settings":{
                "enable":false,
                "remote_docker_url":"",
                "remote_adblock_path":"",
                "remote_user_data_dir":""
            },
            "api_key_settings":{
                "enabled":false,
                "key":""
            },
            "local_chrome_settings":{
                "enabled":false,
                "local_chrome_exe_f_path":""
            }
        }
    }
    

    如果是使用 Docker,请给出对应的配置信息

    比如 Docker-Compose 信息,如果是其他方式使用忽略

    请给出当次问题的完整日志

    [INFO]: 2022-05-16 19:40:21 - updateLocalVideoCacheInfo 49 /media/TV/爱,死亡与机器人 [INFO]: 2022-05-16 19:40:21 - updateLocalVideoCacheInfo 50 /media/TV/鱿鱼游戏.Squid.Game.2021.EP01-09.HD1080P.X264.AAC.Korean.CHS.Mp4er [INFO]: 2022-05-16 19:40:21 - ScanNormalMovieAndSeries End [INFO]: 2022-05-16 19:40:21 - ScanEmbyMovieAndSeries Start... [INFO]: 2022-05-16 19:40:21 - EmbyHelper == nil [INFO]: 2022-05-16 19:40:21 - ScanEmbyMovieAndSeries End [INFO]: 2022-05-16 19:40:23 - Video Scan End By webui [INFO]: 2022-05-16 19:40:23 - ------------------------------------ [ERROR]: 2022-05-16 19:40:30 - Downloader.QueueDownloader() panic [ERROR]: 2022-05-16 19:40:45 - Downloader.QueueDownloader() panic [ERROR]: 2022-05-16 19:41:00 - Downloader.QueueDownloader() panic [ERROR]: 2022-05-16 19:41:15 - Downloader.QueueDownloader() panic [ERROR]: 2022-05-16 19:41:30 - Downloader.QueueDownloader() panic [ERROR]: 2022-05-16 19:41:45 - Downloader.QueueDownloader() panic [ERROR]: 2022-05-16 19:42:00 - Downloader.QueueDownloader() panic [ERROR]: 2022-05-16 19:42:15 - Downloader.QueueDownloader() panic [ERROR]: 2022-05-16 19:42:30 - Downloader.QueueDownloader() panic [ERROR]: 2022-05-16 19:42:45 - Downloader.QueueDownloader() panic [ERROR]: 2022-05-16 19:43:00 - Downloader.QueueDownloader() panic [ERROR]: 2022-05-16 19:43:15 - Downloader.QueueDownloader() panic [ERROR]: 2022-05-16 19:43:30 - Downloader.QueueDownloader() panic [ERROR]: 2022-05-16 19:43:45 - Downloader.QueueDownloader() panic [ERROR]: 2022-05-16 19:44:00 - Downloader.QueueDownloader() panic [ERROR]: 2022-05-16 19:44:15 - Downloader.QueueDownloader() panic [ERROR]: 2022-05-16 19:44:30 - Downloader.QueueDownloader() panic [ERROR]: 2022-05-16 19:44:45 - Downloader.QueueDownloader() panic [ERROR]: 2022-05-16 19:45:00 - Downloader.QueueDownloader() panic /volume1/docker/chinesesubfinder/config:/config 下,Logs 中

  • 0.22.6 cpu和ram使用情况异常高,导致宿主机几乎不可用。

    0.22.6 cpu和ram使用情况异常高,导致宿主机几乎不可用。

    你使用的 chinesesubfinder 是什么版本,什么环境?

    chinesesubfinder 版本: 0.22.6 环境: docker on 群晖

    你遇到什么问题了?

    使用一直正常,更新到0.22.6后每次启动都会大量占用系统资源导致宿主机几乎不能正常使用,只能使用docker stop强制结束容器后,宿主机恢复正常。

    还能正常访问宿主机时候的截图,后期这个页面都导致打不开了。 image

    部分日志

    [WARNING]: 2022-03-31 16:31:43 - DownFile.GetFileName is string.empty http://subtitle.v.geilijiasu.com/6A/A5/6AA5505BC20C6454C02522840A2D3AF5E3C35501.ass
    
    2022/03/31 16:31:44.687218 ERROR RESTY Get "http://sub.xmp.sandai.net:8000/subxl/D2BC76A40D0E34D8F6436AFD0058B46A2FB9E4E9.json": read tcp 172.17.0.2:46280->106.14.221.44:8000: read: connection reset by peer, Attempt 1
    
    [WARNING]: 2022-03-31 16:31:45 - DownFile.GetFileName is string.empty http://subtitle.v.geilijiasu.com/DE/BE/DEBEA86064BF466F28C590AF103F18B6AECB4CFD.ass
    
    [INFO]: 2022-03-31 16:32:32 - Queue 17 shooter End...
    
    [INFO]: 2022-03-31 16:32:34 - xunlei Not Find Sub can be download Raised by Wolves 2 4
    
    [INFO]: 2022-03-31 16:32:37 - xunlei Not Find Sub can be download Raised by Wolves 2 6
    
    2022/03/31 16:32:38.469173 ERROR RESTY Get "http://sub.xmp.sandai.net:8000/subxl/127C002EFFD20C781AEF86B84C5143C4ACB6900F.json": read tcp 172.17.0.2:46544->106.14.221.44:8000: read: connection reset by peer, Attempt 1
    
    2022/03/31 16:32:38.824168 ERROR RESTY invalid character ',' after object key, Attempt 2
    
    [ERROR]: 2022-03-31 16:32:38 - xunlei NewHttpClient: /media/tv/Raised by Wolves (2020)/Season 2/Raised by Wolves (2020) - S02E02 - Seven WEBDL-1080p.mkv invalid character ',' after object key
    
    [ERROR]: 2022-03-31 16:32:38 - xunlei getSubListFromFile 2 2 /media/tv/Raised by Wolves (2020)/Season 2/Raised by Wolves (2020) - S02E02 - Seven WEBDL-1080p.mkv
    
    2022/03/31 16:32:39.833276 ERROR RESTY Get "http://sub.xmp.sandai.net:8000/subxl/D34228A04EFFB4A86996D05AE119DAE41F6B0DCF.json": read tcp 172.17.0.2:46562->106.14.221.44:8000: read: connection reset by peer, Attempt 1
    
    [WARNING]: 2022-03-31 16:32:43 - DownFile.GetFileName is string.empty http://subtitle.v.geilijiasu.com/44/71/4471D61AC655A15058BF7260AA6CCBCF33175442.ass
    
    [WARNING]: 2022-03-31 16:33:29 - DownFile.GetFileName is string.empty http://subtitle.v.geilijiasu.com/E5/E9/E5E9DB8B7600517493FF938634F15DD497DD0AC0.srt
    
    [WARNING]: 2022-03-31 16:33:29 - DownFile.GetFileName is string.empty http://subtitle.v.geilijiasu.com/F5/46/F54674ED65BB3F4D8FB59751D7F37F3056139AA1.srt
    
    [WARNING]: 2022-03-31 16:33:30 - DownFile.GetFileName is string.empty http://subtitle.v.geilijiasu.com/F4/C3/F4C3CB957555B541359FF343D5592B834A026A82.srt
    
    [INFO]: 2022-03-31 16:33:30 - Queue 17 xunlei End...
    
    [ERROR]: 2022-03-31 16:39:17 - Queue 17 zimuku GetSubListFromFile4Series context deadline exceeded
    
    [ERROR]: 2022-03-31 16:39:17 - Queue 17 subhd GetSubListFromFile4Series context deadline exceeded
    
    [INFO]: 2022-03-31 16:39:17 - Queue 17 zimuku End...
    
    [INFO]: 2022-03-31 16:39:17 - 17 DlSub End /media/tv/Raised by Wolves (2020)
    
    [INFO]: 2022-03-31 16:39:17 - Queue 17 subhd End...
    
    [WARNING]: 2022-03-31 16:39:19 - DetermineFileTypeFromFile /app/cache/tmp/Raised by Wolves (2020)/[xunlei]_0_C3A5CUsers5CAdministrator5CDesktop5C16440808164225Craised by wolves_S2E1.ass not support SubType
    
    [INFO]: 2022-03-31 16:39:19 - ----------------------------------
    
    [INFO]: 2022-03-31 16:39:19 - OrgSubName: [shooter]_0_Raised by Wolves_S2E1.srt
    
    [INFO]: 2022-03-31 16:39:19 - SubDownAt: /media/tv/Raised by Wolves (2020)/Season 2/Raised by Wolves (2020) - S02E01 - The Collective WEBDL-1080p.chinese(简,shooter).default.srt
    
    [INFO]: 2022-03-31 16:39:19 - ----------------------------------
    
    [WARNING]: 2022-03-31 16:39:19 - DetermineFileTypeFromFile /app/cache/tmp/Raised by Wolves (2020)/[xunlei]_0_Raised by Wolves_S2E3.ass not support SubType
    
    [INFO]: 2022-03-31 16:39:19 - ----------------------------------
    
    [INFO]: 2022-03-31 16:39:19 - OrgSubName: [shooter]_0_Raised by Wolves_S2E3.srt
    
    [INFO]: 2022-03-31 16:39:19 - SubDownAt: /media/tv/Raised by Wolves (2020)/Season 2/Raised by Wolves (2020) - S02E03 - Good Creatures WEBDL-1080p.chinese(简,shooter).default.srt
    
    [INFO]: 2022-03-31 16:39:19 - ----------------------------------
    
    [INFO]: 2022-03-31 16:39:19 - ----------------------------------
    
    [INFO]: 2022-03-31 16:39:19 - OrgSubName: [shooter]_0_Raised by Wolves_S2E4.ass
    
    [INFO]: 2022-03-31 16:39:19 - SubDownAt: /media/tv/Raised by Wolves (2020)/Season 2/Raised by Wolves (2020) - S02E04 - Control WEBDL-1080p.chinese(简,shooter).default.ass
    
    [INFO]: 2022-03-31 16:39:19 - ----------------------------------
    
    [INFO]: 2022-03-31 16:39:19 - ----------------------------------
    
    [INFO]: 2022-03-31 16:39:19 - OrgSubName: [shooter]_0_Raised by Wolves_S2E6.srt
    
    [INFO]: 2022-03-31 16:39:19 - SubDownAt: /media/tv/Raised by Wolves (2020)/Season 2/Raised by Wolves (2020) - S02E06 - The Tree WEBDL-1080p.chinese(简,shooter).default.srt
    
    [INFO]: 2022-03-31 16:39:19 - ----------------------------------
    
    [INFO]: 2022-03-31 16:39:19 - ----------------------------------
    
    [INFO]: 2022-03-31 16:39:19 - OrgSubName: [shooter]_0_Raised by Wolves_S2E2.srt
    
    [INFO]: 2022-03-31 16:39:19 - SubDownAt: /media/tv/Raised by Wolves (2020)/Season 2/Raised by Wolves (2020) - S02E02 - Seven WEBDL-1080p.chinese(简,shooter).default.srt
    
    [INFO]: 2022-03-31 16:39:19 - ----------------------------------
    
    [INFO]: 2022-03-31 16:39:20 - ----------------------------------
    
    [INFO]: 2022-03-31 16:39:20 - OrgSubName: [shooter]_0_Raised by Wolves_S2E5.srt
    
    [INFO]: 2022-03-31 16:39:20 - SubDownAt: /media/tv/Raised by Wolves (2020)/Season 2/Raised by Wolves (2020) - S02E05 - King WEBDL-1080p.chinese(简,shooter).default.srt
    
    [INFO]: 2022-03-31 16:39:20 - ----------------------------------
    
    [INFO]: 2022-03-31 16:39:20 - ----------------------------------
    
    [INFO]: 2022-03-31 16:39:20 - OrgSubName: [xunlei]_0_Now You See Me_S0E0.ass
    
    [INFO]: 2022-03-31 16:39:20 - SubDownAt: /media/tv/Raised by Wolves (2020)/Season 2/Raised by Wolves (2020) - S02E05 - King WEBDL-1080p.chinese(简英,xunlei).ass
    
    [INFO]: 2022-03-31 16:39:20 - ----------------------------------
    
    [INFO]: 2022-03-31 16:39:20 - ----------------------------------
    
    [INFO]: 2022-03-31 16:39:20 - OrgSubName: [shooter]_0_Raised by Wolves_S2E7.srt
    
    [INFO]: 2022-03-31 16:39:20 - SubDownAt: /media/tv/Raised by Wolves (2020)/Season 2/Raised by Wolves (2020) - S02E07 - Feeding WEBDL-1080p.chinese(简,shooter).default.srt
    
    [INFO]: 2022-03-31 16:39:20 - ----------------------------------
    
    [INFO]: 2022-03-31 16:39:20 - ----------------------------------
    
    [INFO]: 2022-03-31 16:39:20 - OrgSubName: [xunlei]_0_Overlord_S0E0.srt
    
    [INFO]: 2022-03-31 16:39:20 - SubDownAt: /media/tv/Raised by Wolves (2020)/Season 2/Raised by Wolves (2020) - S02E07 - Feeding WEBDL-1080p.chinese(简,xunlei).srt
    
    [INFO]: 2022-03-31 16:39:20 - ----------------------------------
    
    [WARNING]: 2022-03-31 16:39:20 - DetermineFileTypeFromFile /app/cache/tmp/Raised by Wolves (2020)/[xunlei]_0_C3A5CE8BF85E99BB7E4B88BE8BDBD5CRaised by Wolves_S2E8.srt not support SubType
    
    [INFO]: 2022-03-31 16:39:20 - ----------------------------------
    
    [INFO]: 2022-03-31 16:39:20 - OrgSubName: [shooter]_0_Raised by Wolves_S2E8.srt
    
    [INFO]: 2022-03-31 16:39:20 - SubDownAt: /media/tv/Raised by Wolves (2020)/Season 2/Raised by Wolves (2020) - S02E08 - Happiness WEBDL-1080p.chinese(简,shooter).default.srt
    
    [INFO]: 2022-03-31 16:39:20 - ----------------------------------
    
    
    
    
    2022/03/31 16:39:23 /homelab/buildspace/internal/pkg/imdb_helper/imdb.go:66 SLOW SQL >= 200ms
    
    [533.708ms] [rows:1] SELECT * FROM `imdb_infos` WHERE `imdb_infos`.`imdb_id` = "tt9288030" LIMIT 1
    
    [INFO]: 2022-03-31 16:43:02 - Queue 18 DlSub Start /media/tv/Reacher
    
    [INFO]: 2022-03-31 16:43:04 - Queue 18 Reacher IMDB ID: tt9288030 NeedDownloadSubs: 8
    
    [INFO]: 2022-03-31 16:43:06 - Queue 18 Reacher - S1E8
    
    [INFO]: 2022-03-31 16:43:06 - Queue 18 Reacher - S1E1
    
    [INFO]: 2022-03-31 16:43:06 - Queue 18 Reacher - S1E2
    
    [INFO]: 2022-03-31 16:43:06 - Queue 18 Reacher - S1E3
    
    [INFO]: 2022-03-31 16:43:06 - Queue 18 Reacher - S1E4
    
    [INFO]: 2022-03-31 16:43:06 - Queue 18 Reacher - S1E5
    
    [INFO]: 2022-03-31 16:43:06 - Queue 18 Reacher - S1E6
    
    [INFO]: 2022-03-31 16:43:06 - Queue 18 Reacher - S1E7
    
    [INFO]: 2022-03-31 16:43:06 - Queue 18 zimuku Start...
    
    [INFO]: 2022-03-31 16:43:06 - Queue 18 xunlei Start...
    
    [INFO]: 2022-03-31 16:43:06 - Queue 18 shooter Start...
    
    [INFO]: 2022-03-31 16:43:06 - Queue 18 subhd Start...
    
    2022/03/31 16:43:45.440074 ERROR RESTY Post "https://www.shooter.cn/api/subapi.php": net/http: TLS handshake timeout, Attempt 1
    
    [INFO]: 2022-03-31 16:43:57 - xunlei Not Find Sub can be download Reacher  1 8
    
    2022/03/31 16:44:25.072613 ERROR RESTY Post "https://www.shooter.cn/api/subapi.php": net/http: TLS handshake timeout, Attempt 2
    
    [WARNING]: 2022-03-31 16:45:18 - DownFile.GetFileName is string.empty http://subtitle.v.geilijiasu.com/81/60/81601B2D078711FA37567558E9BCCEC2E48E8EBD.srt
    
    2022/03/31 16:47:22.030203 ERROR RESTY Get "http://sub.xmp.sandai.net:8000/subxl/5E2813C259012E8A00E18FC12578E754D001558D.json": context deadline exceeded (Client.Timeout exceeded while awaiting headers), Attempt 1
    
    [INFO]: 2022-03-31 16:47:37 - Queue 18 shooter End...
    
    [INFO]: 2022-03-31 16:47:50 - xunlei Not Find Sub can be download Reacher  1 2
    
    2022/03/31 16:48:49.729518 ERROR RESTY Get "http://sub.xmp.sandai.net:8000/subxl/51B834646E7AC44AB96A534523EC71880A268154.json": read tcp 172.17.0.2:48012->106.14.221.44:8000: read: connection reset by peer, Attempt 1
    
    [INFO]: 2022-03-31 16:48:56 - xunlei Not Find Sub can be download Reacher  1 3
    
    2022/03/31 16:49:17.376455 ERROR RESTY Get "http://sub.xmp.sandai.net:8000/subxl/8CD6B364818481B1D4A75019C8BA3171F834AE38.json": read tcp 172.17.0.2:48032->106.14.221.44:8000: read: connection reset by peer, Attempt 1
    
    [INFO]: 2022-03-31 16:49:32 - xunlei Not Find Sub can be download Reacher  1 4
    
    2022/03/31 16:52:24.684761 ERROR RESTY Get "http://sub.xmp.sandai.net:8000/subxl/5FEF0CEFC745D4312BF04C849FCC0A368899E2FF.json": context deadline exceeded (Client.Timeout exceeded while awaiting headers), Attempt 1
    
    [INFO]: 2022-03-31 16:53:17 - xunlei Not Find Sub can be download Reacher  1 5
    
    [INFO]: 2022-03-31 16:54:31 - xunlei Not Find Sub can be download Reacher  1 6
    
    [cont-finish.d] executing container finish scripts...
    
    [cont-finish.d] done.
    
    [s6-finish] waiting for services.
    
    [s6-finish] sending all processes the TERM signal.
    
    [s6-finish] sending all processes the KILL signal and exiting.
    
A Xunlei-Fastdick client written in golang.

Xunlei-Fastdick-go A Xunlei-Fastdick client written in golang, made by starx with love. Requirement Xunlei account with Xunlei-Fastdick or super VIP m

Oct 12, 2022
A multiplayer terminal shooter written with Go, gRPC, and tview

grpc-game-example An example game built using Go, gRPC, and tview. The blog post for this project is a good reference: https://mortenson.coffee/blog/m

Dec 14, 2022
Spaceshooter - A port to go of the pygame Space Shooter game using the ebiten library
Spaceshooter - A port to go of the pygame Space Shooter game using the ebiten library

Space Shooter This is a port to go of the pygame Space Shooter (https://github.c

Sep 29, 2022