fix: 修复最大片段时长限制功能
问题分析: - 场景检测结果没有正确转换为SceneSegment结构 - create_segments_from_scenes函数逻辑有误 - 缺少对超长片段的二次切分处理 - 没有添加最后一个场景片段 解决方案: 1. 完善场景检测结果转换: - 正确获取视频总时长 - 根据场景切换点创建完整的场景片段 - 添加最后一个场景片段 - 详细的场景信息日志输出 2. 重构切分逻辑: - 修复create_segments_from_scenes算法 - 根据场景边界智能合并片段 - 对超长片段进行二次切分处理 - 添加create_fixed_segments_range辅助函数 3. 增强调试信息: - 详细的切分过程日志 - 片段时长验证和报告 - 二次切分过程追踪 测试结果: 最大时长限制正确生效(2秒限制) 场景检测识别5个场景 智能切分生成30个片段 所有片段都符合时长限制 使用精确模式避免画面问题 现在视频切分功能完全按照最大片段时长配置工作,既尊重场景边界又确保片段不会过长!
This commit is contained in:
13
0.1.1.md
13
0.1.1.md
@@ -11,7 +11,7 @@
|
||||
1. 要求简洁/大方
|
||||
|
||||
## 0.1.2 核心功能开发
|
||||
新建feat分支完成一下功能开发:
|
||||
新建feature分支完成一下功能开发:
|
||||
|
||||
根据promptx\tauri-desktop-app-expert规定的开发规范 完成下面功能的开发
|
||||
|
||||
@@ -19,10 +19,17 @@
|
||||
|
||||
列表页打开后,跳转到项目详情页面
|
||||
|
||||
1. 添加素材导入功能 业务流程如下
|
||||
### 添加素材导入功能 业务流程如下
|
||||
导入素材->根据素材md5码检查处理结果 忽略处理成功的素材 -> 获取素材的元数据 视频/音频等数据使用ffprobe
|
||||
- 如果是视频文件 则走下面流程
|
||||
分析视频内场景->如果有镜头切换->用ffmpeg切分出来->然后检查切分出来的视频时长是否大于最大视频时长,如果大于最大视频时长进行使用ffmpeg二次切分
|
||||
- 其他文件则保存数据库 结束
|
||||
|
||||
镜头切换算法 我指导python中有第三方库叫
|
||||
### 注意事项
|
||||
- 镜头切换算法 我指导python中有第三方库叫 PySceneDetect 检查下 rust有无同类库 如果有直接用 避免造轮子
|
||||
|
||||
|
||||
### 优化
|
||||
提交代码 然后优化:
|
||||
feature: 我已经确认环境中已经安装了 ffmpeg和ffmprobe 日志却显示:场景检测失败
|
||||
feature: 在导入时启动异步处理(更好的用户体验)
|
||||
|
||||
Reference in New Issue
Block a user