feat: 添加最大视频时长检测和二次切分功能

- 添加最大视频时长限制配置 (默认2秒)
- 实现二次切分功能,超过时长限制的视频自动切分
- 优化单场景检测逻辑,跳过不必要的切分
- 修复场景和片段统计逻辑,无场景切换时统计为1个场景
- 添加CLI参数 --max-duration 支持自定义时长限制
- 集成FfmpegSliceService同步版本,简化异步复杂性
- 完善错误处理和文件清理机制
This commit is contained in:
root
2025-07-12 15:24:29 +08:00
parent 5659bb34f3
commit 808c143bf8
5 changed files with 82 additions and 19 deletions

View File

@@ -111,6 +111,7 @@ def batch_detect_and_split(
use_advanced_split: bool = typer.Option(True, "--advanced/--traditional", help="使用高效批量切分/传统逐个切分"),
split_quality: int = typer.Option(23, "--quality", "-q", help="切分质量 (CRF值, 18-28)"),
split_preset: str = typer.Option("fast", "--preset", help="编码预设 (ultrafast/fast/medium/slow)"),
max_duration: float = typer.Option(2.0, "--max-duration", "-d", help="最大视频时长限制(秒),超过将二次切分"),
verbose: bool = typer.Option(False, "--verbose", "-v", help="详细输出")
):
"""批量场景检测和视频切分"""
@@ -162,7 +163,8 @@ def batch_detect_and_split(
continue_on_error=continue_on_error,
use_advanced_split=use_advanced_split,
split_quality=split_quality,
split_preset=split_preset
split_preset=split_preset,
max_video_duration=max_duration
)
# 显示结果