feat: Add video playback functionality and inference support

- Introduced VideoPlayer class to handle local video playback, emitting frames via frame_ready signal.
- Updated MainWindow to switch between camera and video sources, integrating video playback controls.
- Enhanced AppMenuBar with options to open video files and manage inference models.
- Implemented BboxOverlay for displaying detection results on video frames.
- Added InferenceManager to manage YOLO inference in a separate process, with error handling and restart logic.
- Created tests for BboxOverlay and InferenceManager to ensure functionality and robustness.
- Updated pyproject.toml to include optional dependencies for inference support.
This commit is contained in:
2026-05-13 21:30:13 +02:00
parent ac51498b7a
commit e9b474b1ed
14 changed files with 1524 additions and 49 deletions

View File

@@ -8,6 +8,14 @@ dependencies = [
"psutil>=6.0",
]
[project.optional-dependencies]
# Install inference support: pip install -e ".[inference]"
# or: pip install ultralytics numpy
inference = [
"ultralytics>=8.0",
"numpy>=1.24",
]
[project.scripts]
duck-preview = "app.main:main"