需求分析:
用户希望二次切片后的视频文件存放到当前项目目录下的'待分类'目录中,
而不是存放在原视频文件旁边,以便更好地组织项目文件结构。
实现方案:
1. 修改输出路径逻辑:
- 原路径:原视频文件目录/视频名_segments/
- 新路径:项目目录/待分类/视频名_segments/
2. 目录结构设计:
项目根目录/
待分类/
视频1_segments/
视频1_001.mp4
视频1_002.mp4
...
视频2_segments/
视频2_001.mp4
...
其他项目文件...
3. 技术实现:
- 添加get_project_for_material方法获取项目信息
- 自动创建'待分类'目录
- 路径标准化处理确保跨平台兼容性
- 详细的日志输出便于调试
4. 优势:
统一的项目文件组织结构
便于后续的文件分类和管理
避免原始文件目录混乱
支持多个视频的切分结果集中管理
现在所有切分后的视频片段都会整齐地存放在项目的待分类目录中!
1.2 KiB
1.2 KiB
0.1.1 核心功能开发
项目管理 功能
- 添加项目 填写表单
- 填写项目名称
- 选择绑定的本地路径作为本项目的根目录
首页是项目列表页面
- 要求简洁/大方
0.1.2 核心功能开发
新建feature分支完成一下功能开发:
根据promptx\tauri-desktop-app-expert规定的开发规范 完成下面功能的开发
- 开发项目详情页面
列表页打开后,跳转到项目详情页面
添加素材导入功能 业务流程如下
导入素材->根据素材md5码检查处理结果 忽略处理成功的素材 -> 获取素材的元数据 视频/音频等数据使用ffprobe
- 如果是视频文件 则走下面流程 分析视频内场景->如果有镜头切换->用ffmpeg切分出来->然后检查切分出来的视频时长是否大于最大视频时长,如果大于最大视频时长进行使用ffmpeg二次切分
- 其他文件则保存数据库 结束
注意事项
- 镜头切换算法 我指导python中有第三方库叫 PySceneDetect 检查下 rust有无同类库 如果有直接用 避免造轮子
优化
提交代码 然后优化: feature: 在导入时启动异步 后台处理 处理(更好的用户体验)