1
0

Initial implementation of video_probe (Rust)

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
This commit is contained in:
accusys
2026-03-07 10:10:19 +08:00
commit f3e2d2dca7
464 changed files with 125611 additions and 0 deletions

89
AUTO_SAVE_FEATURE.md Normal file
View File

@@ -0,0 +1,89 @@
# 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 优雅处理,不会强制退出
- **用户友好**: 清晰的提示和进度显示