mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-03-19 19:46:55 +08:00
feat(meta): 添加视频帧率信息解析支持
- 在MetaBase基类中新增fps属性用于存储帧率信息 - 实现MetaVideo中帧率信息的识别和解析逻辑 - 为MetaAnime添加帧率提取功能,与MetaVideo保持一致 - 更新测试用例以验证帧率信息的正确解析 - 在元数据测试数据中增加fps字段的预期值
This commit is contained in:
@@ -17,6 +17,7 @@ class MetaAnime(MetaBase):
|
||||
"""
|
||||
_anime_no_words = ['CHS&CHT', 'MP4', 'GB MP4', 'WEB-DL']
|
||||
_name_nostring_re = r"S\d{2}\s*-\s*S\d{2}|S\d{2}|\s+S\d{1,2}|EP?\d{2,4}\s*-\s*EP?\d{2,4}|EP?\d{2,4}|\s+EP?\d{1,4}|\s+GB"
|
||||
_fps_re = r"(\d{2,3})(?=FPS)"
|
||||
|
||||
def __init__(self, title: str, subtitle: str = None, isfile: bool = False):
|
||||
super().__init__(title, subtitle, isfile)
|
||||
@@ -173,6 +174,8 @@ class MetaAnime(MetaBase):
|
||||
self.audio_encode = anitopy_info.get("audio_term")
|
||||
if isinstance(self.audio_encode, list):
|
||||
self.audio_encode = self.audio_encode[0]
|
||||
# 帧率信息
|
||||
self.__init_anime_fps(anitopy_info, original_title)
|
||||
# 解析副标题,只要季和集
|
||||
self.init_subtitle(self.org_string)
|
||||
if not self._subtitle_flag and self.subtitle:
|
||||
@@ -182,6 +185,20 @@ class MetaAnime(MetaBase):
|
||||
except Exception as e:
|
||||
logger.error(f"解析动漫信息失败:{str(e)} - {traceback.format_exc()}")
|
||||
|
||||
def __init_anime_fps(self, anitopy_info: dict, original_title: str):
|
||||
"""
|
||||
从原始标题中提取帧率信息,与MetaVideo保持完全一致的实现
|
||||
"""
|
||||
re_res = re.search(rf"({self._fps_re})", original_title, re.IGNORECASE)
|
||||
if re_res:
|
||||
fps_value = None
|
||||
if re_res.group(1): # FPS格式
|
||||
fps_value = re_res.group(1)
|
||||
|
||||
if fps_value and fps_value.isdigit():
|
||||
# 只存储纯数值
|
||||
self.fps = int(fps_value)
|
||||
|
||||
@staticmethod
|
||||
def __prepare_title(title: str):
|
||||
"""
|
||||
|
||||
@@ -66,6 +66,9 @@ class MetaBase(object):
|
||||
# 附加信息
|
||||
tmdbid: int = None
|
||||
doubanid: str = None
|
||||
# 帧率信息(纯数值)
|
||||
fps: Optional[int] = None
|
||||
|
||||
|
||||
# 副标题解析
|
||||
_subtitle_flag = False
|
||||
@@ -448,6 +451,13 @@ class MetaBase(object):
|
||||
"""
|
||||
return self.audio_encode or ""
|
||||
|
||||
@property
|
||||
def frame_rate(self) -> str:
|
||||
"""
|
||||
返回帧率信息
|
||||
"""
|
||||
return self.fps or ""
|
||||
|
||||
def is_in_season(self, season: Union[list, int, str]) -> bool:
|
||||
"""
|
||||
是否包含季
|
||||
@@ -581,6 +591,9 @@ class MetaBase(object):
|
||||
# 音频编码
|
||||
if not self.audio_encode:
|
||||
self.audio_encode = meta.audio_encode
|
||||
# 帧率信息
|
||||
if not self.fps:
|
||||
self.fps = meta.fps
|
||||
# Part
|
||||
if not self.part:
|
||||
self.part = meta.part
|
||||
|
||||
@@ -53,7 +53,7 @@ class MetaVideo(MetaBase):
|
||||
_resources_pix_re2 = r"(^[248]+K)"
|
||||
_video_encode_re = r"^(H26[45])$|^(x26[45])$|^AVC$|^HEVC$|^VC\d?$|^MPEG\d?$|^Xvid$|^DivX$|^AV1$|^HDR\d*$|^AVS(\+|[23])$"
|
||||
_audio_encode_re = r"^DTS\d?$|^DTSHD$|^DTSHDMA$|^Atmos$|^TrueHD\d?$|^AC3$|^\dAudios?$|^DDP\d?$|^DD\+\d?$|^DD\d?$|^LPCM\d?$|^AAC\d?$|^FLAC\d?$|^HD\d?$|^MA\d?$|^HR\d?$|^Opus\d?$|^Vorbis\d?$|^AV[3S]A$"
|
||||
|
||||
_fps_re = r"(\d{2,3})(?=FPS)"
|
||||
def __init__(self, title: str, subtitle: str = None, isfile: bool = False):
|
||||
"""
|
||||
初始化
|
||||
@@ -129,6 +129,9 @@ class MetaVideo(MetaBase):
|
||||
# 音频编码
|
||||
if self._continue_flag:
|
||||
self.__init_audio_encode(token)
|
||||
# 帧率
|
||||
if self._continue_flag:
|
||||
self.__init_fps(token)
|
||||
# 取下一个,直到没有为卡
|
||||
token = tokens.get_next()
|
||||
self._continue_flag = True
|
||||
@@ -716,3 +719,25 @@ class MetaVideo(MetaBase):
|
||||
else:
|
||||
self.audio_encode = "%s %s" % (self.audio_encode, token)
|
||||
self._last_token = token
|
||||
|
||||
def __init_fps(self, token: str):
|
||||
"""
|
||||
识别帧率
|
||||
"""
|
||||
if not self.name:
|
||||
return
|
||||
|
||||
re_res = re.search(rf"({self._fps_re})", token, re.IGNORECASE)
|
||||
if re_res:
|
||||
self._continue_flag = False
|
||||
self._stop_name_flag = True
|
||||
self._last_token_type = "fps"
|
||||
# 提取帧率数值
|
||||
fps_value = None
|
||||
if re_res.group(1): # FPS格式
|
||||
fps_value = re_res.group(1)
|
||||
|
||||
if fps_value and fps_value.isdigit():
|
||||
# 只存储纯数值
|
||||
self.fps = int(fps_value)
|
||||
self._last_token = f"{self.fps}FPS"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
meta_cases = [{
|
||||
"title": "The Long Season 2017 2160p WEB-DL H265 AAC-XXX",
|
||||
"title": "The Long Season 2017 2160p WEB-DL H265 120FPS AAC-XXX",
|
||||
"subtitle": "",
|
||||
"target": {
|
||||
"type": "未知",
|
||||
@@ -12,10 +12,11 @@ meta_cases = [{
|
||||
"restype": "WEB-DL",
|
||||
"pix": "2160p",
|
||||
"video_codec": "H265",
|
||||
"audio_codec": "AAC"
|
||||
"audio_codec": "AAC",
|
||||
"fps": 120
|
||||
}
|
||||
}, {
|
||||
"title": "Cherry Season S01 2014 2160p WEB-DL H265 AAC-XXX",
|
||||
"title": "Cherry Season S01 2014 2160p 60fps WEB-DL H265 AAC-XXX",
|
||||
"subtitle": "",
|
||||
"target": {
|
||||
"type": "电视剧",
|
||||
@@ -28,7 +29,8 @@ meta_cases = [{
|
||||
"restype": "WEB-DL",
|
||||
"pix": "2160p",
|
||||
"video_codec": "H265",
|
||||
"audio_codec": "AAC"
|
||||
"audio_codec": "AAC",
|
||||
"fps": 60
|
||||
}
|
||||
}, {
|
||||
"title": "【爪爪字幕组】★7月新番[欢迎来到实力至上主义的教室 第二季/Youkoso Jitsuryoku Shijou Shugi no Kyoushitsu e S2][11][1080p][HEVC][GB][MP4][招募翻译校对]",
|
||||
@@ -44,7 +46,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "1080p",
|
||||
"video_codec": "HEVC",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "National.Parks.Adventure.AKA.America.Wild:.National.Parks.Adventure.3D.2016.1080p.Blu-ray.AVC.TrueHD.7.1",
|
||||
@@ -60,7 +63,8 @@ meta_cases = [{
|
||||
"restype": "BluRay 3D",
|
||||
"pix": "1080p",
|
||||
"video_codec": "AVC",
|
||||
"audio_codec": "TrueHD 7.1"
|
||||
"audio_codec": "TrueHD 7.1",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "[秋叶原冥途战争][Akiba Maid Sensou][2022][WEB-DL][1080][TV Series][第01话][LeagueWEB]",
|
||||
@@ -76,7 +80,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "1080p",
|
||||
"video_codec": "",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "哆啦A梦:大雄的宇宙小战争 2021 (2022) - 1080p.mp4",
|
||||
@@ -92,7 +97,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "1080p",
|
||||
"video_codec": "",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "新精武门1991 (1991).mkv",
|
||||
@@ -108,7 +114,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "",
|
||||
"video_codec": "",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "24 S01 1080p WEB-DL AAC2.0 H.264-BTN",
|
||||
@@ -124,7 +131,8 @@ meta_cases = [{
|
||||
"restype": "WEB-DL",
|
||||
"pix": "1080p",
|
||||
"video_codec": "H264",
|
||||
"audio_codec": "AAC 2.0"
|
||||
"audio_codec": "AAC 2.0",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "Qi Refining for 3000 Years S01E06 2022 1080p B-Blobal WEB-DL X264 AAC-AnimeS@AdWeb",
|
||||
@@ -140,7 +148,8 @@ meta_cases = [{
|
||||
"restype": "WEB-DL",
|
||||
"pix": "1080p",
|
||||
"video_codec": "x264",
|
||||
"audio_codec": "AAC"
|
||||
"audio_codec": "AAC",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "Noumin Kanren no Skill Bakka Agetetara Naze ka Tsuyoku Natta S01E02 2022 1080p B-Global WEB-DL X264 AAC-AnimeS@ADWeb[2022年10月新番]",
|
||||
@@ -156,7 +165,8 @@ meta_cases = [{
|
||||
"restype": "WEB-DL",
|
||||
"pix": "1080p",
|
||||
"video_codec": "x264",
|
||||
"audio_codec": "AAC"
|
||||
"audio_codec": "AAC",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "dou luo da lu S01E229 2018 2160p WEB-DL H265 AAC-ADWeb[[国漫连载] 斗罗大陆 第229集 4k | 国语中字]",
|
||||
@@ -172,7 +182,8 @@ meta_cases = [{
|
||||
"restype": "WEB-DL",
|
||||
"pix": "2160p",
|
||||
"video_codec": "H265",
|
||||
"audio_codec": "AAC"
|
||||
"audio_codec": "AAC",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "Thor Love and Thunder (2022) [1080p] [WEBRip] [5.1]",
|
||||
@@ -188,7 +199,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "1080p",
|
||||
"video_codec": "",
|
||||
"audio_codec": "5.1"
|
||||
"audio_codec": "5.1",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "[Animations(动画片)][[诛仙][Jade Dynasty][2022][WEB-DL][2160][TV Series][TV 08][LeagueWEB]][诛仙/诛仙动画 第一季 第08集 | 类型:动画 [国语中字]][680.12 MB]",
|
||||
@@ -204,7 +216,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "",
|
||||
"video_codec": "",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "钢铁侠2 (2010) 1080p AC3.mp4",
|
||||
@@ -220,7 +233,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "1080p",
|
||||
"video_codec": "",
|
||||
"audio_codec": "AC3"
|
||||
"audio_codec": "AC3",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "Wonder Woman 1984 2020 BluRay 1080p Atmos TrueHD 7.1 X264-EPiC",
|
||||
@@ -236,7 +250,8 @@ meta_cases = [{
|
||||
"restype": "BluRay",
|
||||
"pix": "1080p",
|
||||
"video_codec": "x264",
|
||||
"audio_codec": "Atmos TrueHD 7.1"
|
||||
"audio_codec": "Atmos TrueHD 7.1",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "9-1-1 - S04E03 - Future Tense WEBDL-1080p.mp4",
|
||||
@@ -252,7 +267,8 @@ meta_cases = [{
|
||||
"restype": "WEB-DL",
|
||||
"pix": "1080p",
|
||||
"video_codec": "",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "【幻月字幕组】【22年日剧】【据幸存的六人所说】【04】【1080P】【中日双语】",
|
||||
@@ -268,7 +284,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "1080p",
|
||||
"video_codec": "",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "【爪爪字幕组】★7月新番[即使如此依旧步步进逼/Soredemo Ayumu wa Yosetekuru][09][1080p][HEVC][GB][MP4][招募翻译校对]",
|
||||
@@ -284,7 +301,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "1080p",
|
||||
"video_codec": "HEVC",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "[猎户不鸽发布组] 不死者之王 第四季 OVERLORD Ⅳ [02] [1080p] [简中内封] [2022年7月番]",
|
||||
@@ -300,7 +318,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "1080p",
|
||||
"video_codec": "",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "[GM-Team][国漫][寻剑 第1季][Sword Quest Season 1][2002][02][AVC][GB][1080P]",
|
||||
@@ -316,7 +335,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "1080p",
|
||||
"video_codec": "AVC",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": " [猎户不鸽发布组] 组长女儿与照料专员 / 组长女儿与保姆 Kumichou Musume to Sewagakari [09] [1080p+] [简中内嵌] [2022年7月番]",
|
||||
@@ -332,7 +352,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "1080p",
|
||||
"video_codec": "",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "Nande Koko ni Sensei ga!? 2019 Blu-ray Remux 1080p AVC LPCM-7³ ACG",
|
||||
@@ -348,7 +369,8 @@ meta_cases = [{
|
||||
"restype": "BluRay REMUX",
|
||||
"pix": "1080p",
|
||||
"video_codec": "AVC",
|
||||
"audio_codec": "LPCM 7³"
|
||||
"audio_codec": "LPCM 7³",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "30.Rock.S02E01.1080p.UHD.BluRay.X264-BORDURE.mkv",
|
||||
@@ -364,7 +386,8 @@ meta_cases = [{
|
||||
"restype": "UHD BluRay",
|
||||
"pix": "1080p",
|
||||
"video_codec": "x264",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "[Gal to Kyouryuu][02][BDRIP][1080P][H264_FLAC].mkv",
|
||||
@@ -380,7 +403,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "1080p",
|
||||
"video_codec": "H264",
|
||||
"audio_codec": "FLAC"
|
||||
"audio_codec": "FLAC",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "[AI-Raws] 逆境無頼カイジ #13 (BD HEVC 1920x1080 yuv444p10le FLAC)[7CFEE642].mkv",
|
||||
@@ -396,7 +420,8 @@ meta_cases = [{
|
||||
"restype": "BD",
|
||||
"pix": "1080p",
|
||||
"video_codec": "HEVC",
|
||||
"audio_codec": "FLAC"
|
||||
"audio_codec": "FLAC",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "Mr. Robot - S02E06 - eps2.4_m4ster-s1ave.aes SDTV.mp4",
|
||||
@@ -412,7 +437,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "",
|
||||
"video_codec": "",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "[神印王座][Throne of Seal][2022][WEB-DL][2160][TV Series][TV 22][LeagueWEB] 神印王座 第一季 第22集 | 类型:动画 [国语中字][967.44 MB]",
|
||||
@@ -428,7 +454,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "",
|
||||
"video_codec": "",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "S02E1000.mkv",
|
||||
@@ -444,7 +471,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "",
|
||||
"video_codec": "",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "西部世界 12.mkv",
|
||||
@@ -460,7 +488,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "",
|
||||
"video_codec": "",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "[ANi] OVERLORD 第四季 - 04 [1080P][Baha][WEB-DL][AAC AVC][CHT].mp4",
|
||||
@@ -476,7 +505,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "1080p",
|
||||
"video_codec": "AVC",
|
||||
"audio_codec": "AAC"
|
||||
"audio_codec": "AAC",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "[SweetSub&LoliHouse] Made in Abyss S2 - 03v2 [WebRip 1080p HEVC-10bit AAC ASSx2].mkv",
|
||||
@@ -492,7 +522,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "1080p",
|
||||
"video_codec": "",
|
||||
"audio_codec": "AAC"
|
||||
"audio_codec": "AAC",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "[GM-Team][国漫][斗破苍穹 第5季][Fights Break Sphere V][2022][05][HEVC][GB][4K]",
|
||||
@@ -508,7 +539,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "2160p",
|
||||
"video_codec": "HEVC",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "Ousama Ranking S01E02-[1080p][BDRIP][X265.FLAC].mkv",
|
||||
@@ -524,7 +556,8 @@ meta_cases = [{
|
||||
"restype": "BDRIP",
|
||||
"pix": "1080p",
|
||||
"video_codec": "x265",
|
||||
"audio_codec": "FLAC"
|
||||
"audio_codec": "FLAC",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "[Nekomoe kissaten&LoliHouse] Soredemo Ayumu wa Yosetekuru - 01v2 [WebRip 1080p HEVC-10bit EAC3 ASSx2].mkv",
|
||||
@@ -540,7 +573,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "1080p",
|
||||
"video_codec": "",
|
||||
"audio_codec": "EAC3"
|
||||
"audio_codec": "EAC3",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "[喵萌奶茶屋&LoliHouse] 金装的薇尔梅 / Kinsou no Vermeil - 01 [WebRip 1080p HEVC-10bit AAC][简繁内封字幕]",
|
||||
@@ -556,7 +590,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "1080p",
|
||||
"video_codec": "",
|
||||
"audio_codec": "AAC"
|
||||
"audio_codec": "AAC",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "Hataraku.Maou-sama.S02E05.2022.1080p.CR.WEB-DL.X264.AAC-ADWeb.mkv",
|
||||
@@ -572,7 +607,8 @@ meta_cases = [{
|
||||
"restype": "WEB-DL",
|
||||
"pix": "1080p",
|
||||
"video_codec": "x264",
|
||||
"audio_codec": "AAC"
|
||||
"audio_codec": "AAC",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "The Witch Part 2:The Other One 2022 1080p WEB-DL AAC5.1 H264-tG1R0",
|
||||
@@ -588,7 +624,8 @@ meta_cases = [{
|
||||
"restype": "WEB-DL",
|
||||
"pix": "1080p",
|
||||
"video_codec": "H264",
|
||||
"audio_codec": "AAC 5.1"
|
||||
"audio_codec": "AAC 5.1",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "一夜新娘 - S02E07 - 第 7 集.mp4",
|
||||
@@ -604,7 +641,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "",
|
||||
"video_codec": "",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "[ANi] 處刑少女的生存之道 - 07 [1080P][Baha][WEB-DL][AAC AVC][CHT].mp4",
|
||||
@@ -620,7 +658,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "1080p",
|
||||
"video_codec": "AVC",
|
||||
"audio_codec": "AAC"
|
||||
"audio_codec": "AAC",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "Stand-up.Comedy.S01E01.PartA.2022.1080p.WEB-DL.H264.AAC-TJUPT.mp4",
|
||||
@@ -636,7 +675,8 @@ meta_cases = [{
|
||||
"restype": "WEB-DL",
|
||||
"pix": "1080p",
|
||||
"video_codec": "H264",
|
||||
"audio_codec": "AAC"
|
||||
"audio_codec": "AAC",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "教父3.The.Godfather.Part.III.1990.1080p.NF.WEBRip.H264.DDP5.1-PTerWEB.mkv",
|
||||
@@ -652,7 +692,8 @@ meta_cases = [{
|
||||
"restype": "WEBRip",
|
||||
"pix": "1080p",
|
||||
"video_codec": "H264",
|
||||
"audio_codec": "DDP 5.1"
|
||||
"audio_codec": "DDP 5.1",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "A.Quiet.Place.Part.II.2020.1080p.UHD.BluRay.DD+7.1.DoVi.X265-PuTao",
|
||||
@@ -668,7 +709,8 @@ meta_cases = [{
|
||||
"restype": "UHD BluRay DoVi",
|
||||
"pix": "1080p",
|
||||
"video_codec": "x265",
|
||||
"audio_codec": "DD+ 7.1"
|
||||
"audio_codec": "DD+ 7.1",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "Childhood.In.A.Capsule.S01E16.2022.1080p.KKTV.WEB-DL.X264.AAC-ADWeb.mkv",
|
||||
@@ -684,7 +726,8 @@ meta_cases = [{
|
||||
"restype": "WEB-DL",
|
||||
"pix": "1080p",
|
||||
"video_codec": "x264",
|
||||
"audio_codec": "AAC"
|
||||
"audio_codec": "AAC",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "[桜都字幕组] 异世界归来的舅舅 / Isekai Ojisan [01][1080p][简体内嵌]",
|
||||
@@ -700,7 +743,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "1080p",
|
||||
"video_codec": "",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "【喵萌奶茶屋】★04月新番★[夏日重現/Summer Time Rendering][15][720p][繁日雙語][招募翻譯片源]",
|
||||
@@ -716,7 +760,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "720p",
|
||||
"video_codec": "",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "[NC-Raws] 打工吧!魔王大人 第二季 / Hataraku Maou-sama!! - 02 (B-Global 1920x1080 HEVC AAC MKV)",
|
||||
@@ -732,7 +777,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "1080p",
|
||||
"video_codec": "HEVC",
|
||||
"audio_codec": "AAC"
|
||||
"audio_codec": "AAC",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "The Witch Part 2 The Other One 2022 1080p WEB-DL AAC5.1 H.264-tG1R0",
|
||||
@@ -748,7 +794,8 @@ meta_cases = [{
|
||||
"restype": "WEB-DL",
|
||||
"pix": "1080p",
|
||||
"video_codec": "H264",
|
||||
"audio_codec": "AAC 5.1"
|
||||
"audio_codec": "AAC 5.1",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "The 355 2022 BluRay 1080p DTS-HD MA5.1 X265.10bit-BeiTai",
|
||||
@@ -764,7 +811,8 @@ meta_cases = [{
|
||||
"restype": "BluRay",
|
||||
"pix": "1080p",
|
||||
"video_codec": "x265 10bit",
|
||||
"audio_codec": "DTS-HD MA 5.1"
|
||||
"audio_codec": "DTS-HD MA 5.1",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "Sense8 s01-s02 2015-2017 1080P WEB-DL X265 AC3£cXcY@FRDS",
|
||||
@@ -780,7 +828,8 @@ meta_cases = [{
|
||||
"restype": "WEB-DL",
|
||||
"pix": "1080p",
|
||||
"video_codec": "x265",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "The Heart of Genius S01 13-14 2022 1080p WEB-DL H264 AAC",
|
||||
@@ -796,7 +845,8 @@ meta_cases = [{
|
||||
"restype": "WEB-DL",
|
||||
"pix": "1080p",
|
||||
"video_codec": "H264",
|
||||
"audio_codec": "AAC"
|
||||
"audio_codec": "AAC",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "The Heart of Genius E13-14 2022 1080p WEB-DL H264 AAC",
|
||||
@@ -812,7 +862,8 @@ meta_cases = [{
|
||||
"restype": "WEB-DL",
|
||||
"pix": "1080p",
|
||||
"video_codec": "H264",
|
||||
"audio_codec": "AAC"
|
||||
"audio_codec": "AAC",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "2022.8.2.Twelve.Monkeys.1995.GBR.4K.REMASTERED.BluRay.1080p.X264.DTS [3.4 GB]",
|
||||
@@ -828,7 +879,8 @@ meta_cases = [{
|
||||
"restype": "BluRay",
|
||||
"pix": "4k",
|
||||
"video_codec": "x264",
|
||||
"audio_codec": "DTS"
|
||||
"audio_codec": "DTS",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "[NC-Raws] 王者天下 第四季 - 17 (Baha 1920x1080 AVC AAC MP4) [3B1AA7BB].mp4",
|
||||
@@ -844,7 +896,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "1080p",
|
||||
"video_codec": "AVC",
|
||||
"audio_codec": "AAC"
|
||||
"audio_codec": "AAC",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "Sense8 S2E1 2015-2017 1080P WEB-DL X265 AC3£cXcY@FRDS",
|
||||
@@ -860,7 +913,8 @@ meta_cases = [{
|
||||
"restype": "WEB-DL",
|
||||
"pix": "1080p",
|
||||
"video_codec": "x265",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "[xyx98]传颂之物/Utawarerumono/うたわれるもの[BDrip][1920x1080][TV 01-26 Fin][hevc-yuv420p10 flac_ac3][ENG PGS]",
|
||||
@@ -876,7 +930,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "1080p",
|
||||
"video_codec": "",
|
||||
"audio_codec": "flac"
|
||||
"audio_codec": "flac",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "[云歌字幕组][7月新番][欢迎来到实力至上主义的教室 第二季][01][X264 10bit][1080p][简体中文].mp4",
|
||||
@@ -892,7 +947,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "1080p",
|
||||
"video_codec": "X264",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "[诛仙][Jade Dynasty][2022][WEB-DL][2160][TV Series][TV 04][LeagueWEB]",
|
||||
@@ -908,7 +964,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "",
|
||||
"video_codec": "",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "Rick and Morty.S06E06.JuRicksic.Mort.1080p.HMAX.WEBRip.DD5.1.X264-NTb[rartv]",
|
||||
@@ -924,7 +981,8 @@ meta_cases = [{
|
||||
"restype": "WEBRip",
|
||||
"pix": "1080p",
|
||||
"video_codec": "x264",
|
||||
"audio_codec": "DD 5.1"
|
||||
"audio_codec": "DD 5.1",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "rick and Morty.S06E05.JuRicksic.Mort.1080p.HMAX.WEBRip.DD5.1.X264-NTb[rartv]",
|
||||
@@ -940,7 +998,8 @@ meta_cases = [{
|
||||
"restype": "WEBRip",
|
||||
"pix": "1080p",
|
||||
"video_codec": "x264",
|
||||
"audio_codec": "DD 5.1"
|
||||
"audio_codec": "DD 5.1",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "[Hall_of_C] 诛仙 Zhu Xian (Jade Dynasty) - Episode 19",
|
||||
@@ -956,7 +1015,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "",
|
||||
"video_codec": "",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "I Woke Up a Vampire S02 2023 2160p NF WEB-DL DDP5.1 Atmos H 265-HHWEB",
|
||||
@@ -972,7 +1032,8 @@ meta_cases = [{
|
||||
"restype": "WEB-DL",
|
||||
"pix": "2160p",
|
||||
"video_codec": "H265",
|
||||
"audio_codec": "DDP 5.1 Atmos"
|
||||
"audio_codec": "DDP 5.1 Atmos",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "Shadows of the Void S01 2024 1080p WEB-DL H264 AAC-HHWEB",
|
||||
@@ -988,7 +1049,8 @@ meta_cases = [{
|
||||
"restype": "WEB-DL",
|
||||
"pix": "1080p",
|
||||
"video_codec": "H264",
|
||||
"audio_codec": "AAC"
|
||||
"audio_codec": "AAC",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "【极影字幕社】★1月新番 Metallic Rouge/金属口红 第13话 GB 1080P MP4(字幕社招人内详)",
|
||||
@@ -1004,7 +1066,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "1080p",
|
||||
"video_codec": "",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"title": "Mai Xiang S01 2019 2160p WEB-DL H.265 DDP2.0-HHWEB",
|
||||
@@ -1020,7 +1083,8 @@ meta_cases = [{
|
||||
"restype": "WEB-DL",
|
||||
"pix": "2160p",
|
||||
"video_codec": "H265",
|
||||
"audio_codec": "DDP 2.0"
|
||||
"audio_codec": "DDP 2.0",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"path": "/volume1/电视剧/西部世界 第二季 (2016)/5.mkv",
|
||||
@@ -1035,7 +1099,8 @@ meta_cases = [{
|
||||
"restype": "",
|
||||
"pix": "",
|
||||
"video_codec": "",
|
||||
"audio_codec": ""
|
||||
"audio_codec": "",
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"path": "/movies/The Vampire Diaries (2009) [tmdbid=18165]/The.Vampire.Diaries.S01E01.1080p.mkv",
|
||||
@@ -1051,7 +1116,8 @@ meta_cases = [{
|
||||
"pix": "1080p",
|
||||
"video_codec": "",
|
||||
"audio_codec": "",
|
||||
"tmdbid": 18165
|
||||
"tmdbid": 18165,
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"path": "/movies/Inception (2010) [tmdbid-27205]/Inception.2010.1080p.mkv",
|
||||
@@ -1067,7 +1133,8 @@ meta_cases = [{
|
||||
"pix": "1080p",
|
||||
"video_codec": "",
|
||||
"audio_codec": "",
|
||||
"tmdbid": 27205
|
||||
"tmdbid": 27205,
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"path": "/movies/Breaking Bad (2008) [tmdb=1396]/Season 1/Breaking.Bad.S01E01.1080p.mkv",
|
||||
@@ -1083,7 +1150,8 @@ meta_cases = [{
|
||||
"pix": "1080p",
|
||||
"video_codec": "",
|
||||
"audio_codec": "",
|
||||
"tmdbid": 1396
|
||||
"tmdbid": 1396,
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"path": "/tv/Game of Thrones (2011) {tmdb=1399}/Season 1/Game.of.Thrones.S01E01.1080p.mkv",
|
||||
@@ -1099,7 +1167,8 @@ meta_cases = [{
|
||||
"pix": "1080p",
|
||||
"video_codec": "",
|
||||
"audio_codec": "",
|
||||
"tmdbid": 1399
|
||||
"tmdbid": 1399,
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"path": "/movies/Avatar (2009) {tmdb-19995}/Avatar.2009.1080p.mkv",
|
||||
@@ -1115,7 +1184,8 @@ meta_cases = [{
|
||||
"pix": "1080p",
|
||||
"video_codec": "",
|
||||
"audio_codec": "",
|
||||
"tmdbid": 19995
|
||||
"tmdbid": 19995,
|
||||
"fps": None
|
||||
}
|
||||
}, {
|
||||
"path": "/movies/DouBan_IMDB.TOP250.Movies.Mixed.Collection.20240501.FRDS/为奴十二年.12.Years.a.Slave.2013.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS/12.Years.a.Slave.2013.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS.mkv",
|
||||
|
||||
@@ -30,7 +30,8 @@ class MetaInfoTest(TestCase):
|
||||
"restype": meta_info.edition,
|
||||
"pix": meta_info.resource_pix or "",
|
||||
"video_codec": meta_info.video_encode or "",
|
||||
"audio_codec": meta_info.audio_encode or ""
|
||||
"audio_codec": meta_info.audio_encode or "",
|
||||
"fps": meta_info.fps or None
|
||||
}
|
||||
|
||||
# 检查tmdbid
|
||||
|
||||
Reference in New Issue
Block a user