FEAT: Agent vidéo — brancher la capture FFmpeg et le pipeline de snapshots #1
Labels
No labels
bug
chore
design
dx:ci
dx:database
dx:dotnet
dx:infra
dx:security
dx:tests
dx:ui
etape-1
etape-2
etape-3
etape-4
etape-5
etape-6
etape-7
feature
priority-high
priority-low
priority-medium
security
spec
tech-debt
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
nonobis/Heimdall#1
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
🎯 Contexte
Le cœur métier de l'agent n'est pas branché :
CameraStreamService(capture FFmpeg par caméra) existe mais n'est pas enregistré dans le DI desrc/Heimdall.Agent/Program.cs, et les frames capturées ne sont que comptées (aucune transmission au pipeline d'analyse). L'agent se contente de register + heartbeat + config hub.📚 Référence spec (MASTER_SPECIFICATION.md v2.0)
Phase 15 — Agent Vidéo (capture + streaming)
ffmpeg -rtsp_transport tcp -buffer_size 0 -max_delay 0 -i rtsp://... -g 1 -tune zerolatency -preset ultrafast -c:v copy -f rawvideo pipe:1BoundedChannel<Snapshot>(backpressure, drop oldest si > 100)🔍 État actuel (vérifié dans le code)
src/Heimdall.Agent/Services/CameraStreamService.cs: process FFmpeg par caméra (-rtsp_transport tcp -i <url> -f image2pipe -vcodec mjpeg -q:v 3 -update 1 -),ArgumentList(anti-injection RTSP), sémaphore max 4 processus,ArrayPool<byte>.Shared, kill sécurisé. Frames seulement comptées — commentaire « will be passed to FrameAnalyzerService in a future phase ». Non enregistré dans le DI.🧩 À faire
CameraStreamService(hosted service ou scoped) dansProgram.csde l'agentFrameAnalyzerService(voir ticket dédié YOLO/ONNX)CameraStreamServiceTestsexistants à étendre (démarrage FFmpeg, reconnexion, kill sécurisé)🧪 Critères d'acceptation
make testvert📁 Fichiers concernés
src/Heimdall.Agent/Services/CameraStreamService.cs, src/Heimdall.Agent/Program.cs, src/Heimdall.Agent/AgentOptions.cs, tests/Heimdall.Agent.Tests/
Implémenté dans
b652d8a(Fixes #1).Restant (tickets dédiés) : inférence YOLO/ONNX réelle (RunInference stub), pixel-diff Motion Gate Phase 16, purge logs #53.