Core modules: - probe.rs: ffprobe execution logic - parser.rs: JSON parsing logic - output.rs: Output formatting - lib.rs: Library interface - main.rs: CLI entry point Features: - Extract video metadata using ffprobe - Parse video/audio/subtitle streams - Save to JSON file - Console summary output Documentation: - Added QUICKSTART.md - Added ENVIRONMENT_SETUP_REPORT.md
2.5 KiB
2.5 KiB
Video YOLO Object Prescan - 更新日志
v2.0.1 (2026-03-06) - Auto-Save Feature Added
🆕 新增功能
1. 可配置的自动存档间隔
- 默认: 30 秒
- 命令行:
--save-interval SECONDS - 范围: 5-300 秒
- 示例:
# 默认 30 秒 python3 video_yolo_object_prescan.py video.mp4 yolov8n.pt # 每 60 秒 python3 video_yolo_object_prescan.py video.mp4 yolov8n.pt --save-interval 60 # 每 15 秒(长时间视频) python3 video_yolo_object_prescan.py video.mp4 yolov8n.pt --save-interval 15
2. 自动保存机制
-
每 N 秒自动保存当前进度到- 显示自动保存计数和文件大小
-
静默模式: 不显示详细进度,仅显示关键信息
-
防止干扰: 不影响正常输出
-
数据保护: 鄲止意外断电丢失进度
3. 断点续传
-
✅ 保持原有功能
-
自动检测现有
.yolo.json文件 -
询问是否继续
-
无缝从上次中断处继续
-
✅ 从上次保存处恢复处理
4. 完善的元数据
JSON 文件中新增字段:
auto_save_interval: 记录自动保存间隔auto_save_count: 记录自动保存次数status:in_progress/interrupted/completedlast_saved_at: 最后保存时间- 其他原有字段保持不变
5. 改进的显示
- 自动保存时显示进度百分比和文件大小
- 完成时显示完整统计(包括自动保存次数)
- 更友好的提示信息
💡 使用建议
推荐配置
- 短视频 (< 5 分钟): 15 秒
- 中等视频 (5-15 分钟): 30 秒(默认)
- 长视频 (15-30 分钟): 60 秒
- 超长视频 (> 30 分钟): 120 秒
实际效果
进度: 1000/3615 frames (27.8%)
💾 Auto-saved (#1): 1000/3615 frames (27.8%) - Size: 1024.5 KB - Elapsed: 75.2s
进度: 2000/3615 frames (55.2%)
💾 Auto-saved (#2): 2000/3615 frames (55.2%) - Size: 2049.0 KB - Elapsed: 150.4s
进度: 3000/3615 frames (82.9%)
💾 Auto-saved (#3): 3000/3615 frames (82.9%) - Size: 3073.5 KB - Elapsed: 225.6s
✓ 完成! 夔大小: 3073.5 KB
自动保存次数: 3 次
总对象: 5430 个
🔍 安全特性
-
最小间隔: 5 秒(防止过于频繁)
-
最大间隔: 300 秒(5 分钟,防止间隔太长)
-
静默保存: 保存时不尽量减少 I/O 操作
-
内存友好: 仅保存元数据,不保存帧数据
-
状态跟踪: 通过
status字段可区分不同状态 -
信号处理: Ctrl+C 优雅处理,不会强制退出
-
用户友好: 清晰的提示和进度显示