Skip to content

Commit 769605d

Browse files
committed
refactor(config): 修改文件配置的加载
1 parent f13be00 commit 769605d

File tree

3 files changed

+19
-21
lines changed

3 files changed

+19
-21
lines changed

config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"name": "default",
55
"x264": {
66
"crf": 23.5,
7-
"preset": 8,
7+
"preset": "veryslow",
88
"I": 600,
99
"r": 4,
1010
"b": 3,

src/model/config.py

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,19 @@
1+
from typing import Literal
2+
13
from pydantic import BaseModel, Field
24

5+
type X264Preset = Literal[
6+
"ultrafast",
7+
"superfast",
8+
"veryfast",
9+
"faster",
10+
"fast",
11+
"medium",
12+
"slow",
13+
"slower",
14+
"veryslow",
15+
]
16+
317

418
class X264ConfigModel(BaseModel):
519
"""
@@ -11,11 +25,9 @@ class X264ConfigModel(BaseModel):
1125
crf: float = Field(
1226
default=23.5, gt=0, lt=51, description="CRF值,范围在0-51之间,值越小质量越高"
1327
)
14-
preset: int = Field(
15-
default=8,
16-
gt=0,
17-
lt=9,
18-
description="编码预设值,范围在0-9之间,值越大编码速度越快",
28+
preset: X264Preset = Field(
29+
default="slower",
30+
description="x264编码预设",
1931
)
2032
I: int = Field(default=600, description="关键帧间隔,影响视频的可编辑性和压缩率")
2133
r: int = Field(default=4, description="B帧参考数,影响视频质量和编码速度")

src/service/video.py

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -85,22 +85,8 @@ def process_single_file(
8585

8686
ffmpeg_path = meta.FFMPEG_PATH
8787

88-
# Define preset mapping from numeric value to x264 preset string
89-
preset_mapping = {
90-
0: "placebo",
91-
1: "veryslow",
92-
2: "slower",
93-
3: "slow",
94-
4: "medium",
95-
5: "fast",
96-
6: "faster",
97-
7: "veryfast",
98-
8: "superfast",
99-
9: "ultrafast",
100-
}
101-
10288
# Get preset string
103-
preset = preset_mapping.get(config.x264.preset, "medium")
89+
preset = config.x264.preset
10490
input_file = file.file_path
10591

10692
if not delete_audio:

0 commit comments

Comments
 (0)