FEAT: Test de flux multi-protocoles — RTMP, Bubble/Uniview, HomeKit #67

Closed
opened 2026-08-11 21:53:19 +02:00 by nonobis · 0 comments
Owner

Contexte

Strix teste rtsp/rtsps/rtmp/rtmps/bubble/dvrip/http via go2rtc (pkg/tester/source.go). Heimdall ne teste que rtsp:// et http(s):// → les marques dont le flux est RTMP ou Bubble (ex. Uniview) ne sont jamais validées.

État actuel

  • IsStreamUrlAliveAsync : RTSP OPTIONS (200/401) + HTTP MJPEG content-type
  • Pas de template b:uniview (bubble) ni RTMP dans CameraStreamTemplates

À faire

  1. RTMP : handshake RTMP minimal (connect) ou probe ffmpeg -f flv ; ajouter rtmp:// au test
  2. Bubble (Uniview) : TCP + HTTP handshake + parsing XML (Strix bubbleHandler, go2rtc pkg/bubble) ; template b:uniview → bubble://user:pass@ip:80/bubble/live?ch=0&stream=0
  3. HomeKit : test = snapshot HAP GetImage (cf. ticket screenshots) — une URL homekit:// est vivante si GetImage réussit
  4. Étendre IsStreamUrlAliveAsync pour ces schémas ; ajouter les templates correspondants

Critères d'acceptation

  • Chaque protocole supporté est testé vivant/mort correctement
  • Les templates correspondants existent (b:uniview, rtmp pour les marques concernées)
  • Aucun impact sur les protocoles existants (tests verts)

Fichiers concernés

  • src/Heimdall.Agent/Services/NetworkCameraScanner.cs
  • src/Heimdall.Application/Discovery/CameraStreamTemplates.cs

Référence

  • Strix pkg/tester/source.go ; go2rtc pkg/rtmp, pkg/bubble, pkg/hap
## Contexte Strix teste rtsp/rtsps/rtmp/rtmps/**bubble**/dvrip/http via go2rtc (pkg/tester/source.go). Heimdall ne teste que `rtsp://` et `http(s)://` → les marques dont le flux est RTMP ou Bubble (ex. Uniview) ne sont jamais validées. ## État actuel - `IsStreamUrlAliveAsync` : RTSP OPTIONS (200/401) + HTTP MJPEG content-type - Pas de template `b:uniview` (bubble) ni RTMP dans `CameraStreamTemplates` ## À faire 1. **RTMP** : handshake RTMP minimal (connect) ou probe ffmpeg `-f flv` ; ajouter `rtmp://` au test 2. **Bubble (Uniview)** : TCP + HTTP handshake + parsing XML (Strix `bubbleHandler`, go2rtc pkg/bubble) ; template `b:uniview` → `bubble://user:pass@ip:80/bubble/live?ch=0&stream=0` 3. **HomeKit** : test = snapshot HAP GetImage (cf. ticket screenshots) — une URL `homekit://` est vivante si GetImage réussit 4. Étendre `IsStreamUrlAliveAsync` pour ces schémas ; ajouter les templates correspondants ## Critères d'acceptation - Chaque protocole supporté est testé vivant/mort correctement - Les templates correspondants existent (b:uniview, rtmp pour les marques concernées) - Aucun impact sur les protocoles existants (tests verts) ## Fichiers concernés - `src/Heimdall.Agent/Services/NetworkCameraScanner.cs` - `src/Heimdall.Application/Discovery/CameraStreamTemplates.cs` ## Référence - Strix `pkg/tester/source.go` ; go2rtc `pkg/rtmp`, `pkg/bubble`, `pkg/hap`
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
nonobis/Heimdall#67
No description provided.