mirror of
https://github.com/woodchen-ink/video2gif.git
synced 2025-07-18 05:32:03 +08:00
fix(gui): 更新 FFmpeg 调色板生成参数并改进错误处理
This commit is contained in:
parent
302dbc805f
commit
0f8751a2f2
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +1,2 @@
|
||||
__pycache__/gui.cpython-311.pyc
|
||||
ffmpeg
|
||||
|
13
gui.py
13
gui.py
@ -224,11 +224,11 @@ class VideoToGifConverter:
|
||||
"""根据质量设置返回 FFmpeg 调色板生成参数"""
|
||||
quality = self.quality_var.get()
|
||||
if quality == "high":
|
||||
return "stats_mode=full:dither=sierra2_4a"
|
||||
return "max_colors=256"
|
||||
elif quality == "medium":
|
||||
return "stats_mode=diff:dither=bayer:bayer_scale=3"
|
||||
return "max_colors=128"
|
||||
else:
|
||||
return "stats_mode=single:dither=bayer:bayer_scale=5"
|
||||
return "max_colors=64"
|
||||
|
||||
def validate_inputs(self):
|
||||
"""验证输入参数"""
|
||||
@ -358,10 +358,13 @@ class VideoToGifConverter:
|
||||
else 0
|
||||
),
|
||||
)
|
||||
_, stderr = process.communicate()
|
||||
stdout, stderr = process.communicate()
|
||||
|
||||
if process.returncode != 0:
|
||||
raise RuntimeError(f"调色板生成失败: {stderr.decode()}")
|
||||
error_msg = stderr.decode()
|
||||
print(f"调色板生成命令: {' '.join(palette_cmd)}")
|
||||
print(f"错误输出: {error_msg}")
|
||||
raise RuntimeError(f"调色板生成失败: {error_msg}")
|
||||
|
||||
# 更新状态显示
|
||||
self.status_label.config(
|
||||
|
Loading…
x
Reference in New Issue
Block a user