# Video YOLO Object Prescan - 更新日志 ## v2.0.1 (2026-03-06) - Auto-Save Feature Added ### 🆕 新增功能 #### 1. **可配置的自动存档间隔** - **默认**: 30 秒 - **命令行**: `--save-interval SECONDS` - **范围**: 5-300 秒 - **示例**: ```bash # 默认 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` / `completed` - `last_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 优雅处理,不会强制退出 - **用户友好**: 清晰的提示和进度显示