FEAT: Base de données caméras Strix — 100 000+ patterns URL + table OUI #64
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#64
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
Strix embarque une base SQLite
cameras.db: 3 600 marques, 100 000+ patterns d'URL (tablesbrands,streams,stream_models,preset_streams,oui), au format d'IDsb:brand/m:brand:model/p:preset— le même format que notreBuiltInCameraDb. La DB est récupérable depuis l'image Dockereduard256/strix(Dockerfile :COPY cameras.db .). Notre catalogue actuel : ~15 entrées en dur + ~12 templates.État actuel
Heimdall.Application/Discovery/CameraStreamTemplates.cs: ~12 templates (p:onvif, p:rtsp-h264…, b:hikvision, b:dahua, b:imou, b:axis…)CameraDiscoveryService.BuiltInCameraDb: 15 entrées (StrixCamDB-inspired)ResolveOuiVendor: ~25 OUIs en dur, côté central uniquementÀ faire
docker run --rm eduard256/strixpuis extrairecameras.db(ou asset release) ; vérifier licence MIT et taille ; documenter la version/sourceMicrosoft.Data.Sqlite(pur managé, compatible Alpine) ; interfaceICameraDatabase:Search(brand|model|query)→ entrées (remplaceBuiltInCameraDb)BuildStreams(ids, ip, user, pass, channel, portFilter)→ URLs (remplaceCameraStreamTemplates.BuildUrls)LookupOui(mac)→ vendor (remplaceResolveOuiVendor, dispo aussi côté agent)b:/m:/p:existants (les presets p:onvif/p:rtsp-h264… doivent continuer à fonctionner)Critères d'acceptation
dotnet testvert (Application/Infrastructure/Agent)Fichiers concernés
src/Heimdall.Application/Discovery/(nouveau lecteur DB)src/Heimdall.Infrastructure/Services/Discovery/CameraDiscoveryService.cssrc/Heimdall.Agent/Services/NetworkCameraScanner.csRéférence
pkg/camdb/streams.go(schéma + BuildStreams),pkg/camdb/search.gopkg/probe/oui.go(SELECT brand FROM oui WHERE prefix = ?)COPY cameras.db .; catalogue : gostrix.github.io