Aller au contenu

Intégration de flux de caméras RTSP dans les applications .NET

Video Capture SDK .Net VideoCaptureCoreX VideoCaptureCore

Prise en charge multiplateforme

Le moteur VideoCaptureCoreX fonctionne sous Windows, macOS, Linux, Android et iOS via GStreamer ; le moteur classique VideoCaptureCore est réservé à Windows. Consultez la matrice de prise en charge des plateformes pour les détails sur les codecs et l'accélération matérielle, ainsi que le guide de déploiement Linux pour la configuration sur Ubuntu / NVIDIA Jetson / Raspberry Pi.

Configuration de sources standard de caméras RTSP

L'implémentation de flux de caméras RTSP dans vos applications .NET offre un accès flexible aux caméras réseau et aux flux vidéo. Cette capacité puissante permet la surveillance en temps réel, les fonctions de vidéosurveillance et le traitement vidéo directement au sein de votre application.

Pour des options de connexion supplémentaires et des protocoles alternatifs, consultez notre documentation détaillée sur les caméras IP qui couvre un large éventail d'approches d'intégration de caméras.

// Créer l'objet de paramètres de source RTSP
var rtsp = await RTSPSourceSettings.CreateAsync(new Uri("url"), "login", "password", true /*capturer l'audio ?*/);

// Affecter la source à l'objet VideoCaptureCoreX
VideoCapture1.Video_Source = rtsp;

Optimisation pour le streaming RTSP à faible latence

La faible latence est critique pour de nombreuses applications temps réel, notamment la surveillance, les systèmes interactifs et la diffusion en direct. Notre SDK fournit des configurations spécialisées pour minimiser le délai entre la capture et l'affichage.

Notre SDK inclut un mode dédié, spécifiquement conçu pour le streaming RTSP à faible latence. Lorsqu'il est correctement configuré, ce mode atteint généralement une latence inférieure à 250 millisecondes, ce qui le rend idéal pour les applications sensibles au temps.

// Créer l'objet de paramètres de source.
var settings = new IPCameraSourceSettings();

// Configurer l'adresse IP, le nom d'utilisateur, le mot de passe, etc.
// ...

// Définir le mode RTSP LowLatency.
settings.Type = IPSourceEngine.RTSP_LowLatency;

// Définir le mode UDP ou TCP.
settings.RTSP_LowLatency_UseUDP = false; // true pour utiliser UDP, false pour utiliser TCP

// Affecter la source à l'objet VideoCaptureCore.
VideoCapture1.IP_Camera_Source = settings;

NOUVEAU : mode à latence ultra-faible (60-120 ms)

VideoCaptureCoreX inclut désormais un mode dédié à faible latence qui atteint une latence totale de 60-120 ms — jusqu'à 10 fois plus rapide que le mode standard. Parfait pour la vidéosurveillance en temps réel, le monitoring interactif et les applications de sécurité.

// Créer les paramètres de source RTSP
var rtsp = await RTSPSourceSettings.CreateAsync(
    new Uri("rtsp://192.168.1.100:554/stream"), 
    "admin", 
    "password", 
    true); // activer l'audio

// Activer le mode faible latence — optimise pour un délai minimal (60-120 ms)
rtsp.LowLatencyMode = true;

// Affecter la source à VideoCaptureCoreX
VideoCapture1.Video_Source = rtsp;

Fonctionnement : - Définit le tampon anti-gigue RTSP à 80 ms (au lieu de 1000 ms par défaut) - Optimise la mise en tampon de la file d'attente interne (max 2 images) - Désactive le réordonnancement de paquets pour un délai minimal - Compromis : optimise la vitesse au détriment de la stabilité

Quand l'utiliser : - ✓ Vidéosurveillance et monitoring en temps réel - ✓ Systèmes de sécurité en direct - ✓ Applications vidéo interactives - ✓ Systèmes de contrôle à distance - ✗ Enregistrement sur des réseaux instables (utilisez le mode par défaut) - ✗ Capture archivistique de longue durée (utilisez le mode par défaut)

Configuration avancée :

Pour un contrôle fin, vous pouvez configurer manuellement les paramètres de latence :

var rtsp = await RTSPSourceSettings.CreateAsync(uri, login, password, audioEnabled);

// Configuration manuelle de la faible latence
rtsp.Latency = TimeSpan.FromMilliseconds(50);  // Taille de tampon personnalisée
rtsp.BufferMode = RTSPBufferMode.None;          // Pas de mise en tampon anti-gigue
rtsp.DropOnLatency = false;                     // Ne pas perdre d'images

Exemples d'implémentation et applications de référence

Ces projets d'exemple illustrent des modèles d'implémentation RTSP pratiques et peuvent servir de point de départ pour votre propre développement. L'examen de ces exemples vous aidera à comprendre les bonnes pratiques d'intégration RTSP.

Résolution des problèmes de connexion RTSP

Lorsque vous travaillez avec des caméras RTSP, vous pouvez rencontrer des problèmes de connectivité liés à la configuration réseau, aux paramètres du pare-feu ou à l'authentification. Voici les facteurs clés à considérer :

  • Vérifiez la connectivité réseau entre votre application et la caméra
  • Assurez-vous que les identifiants d'authentification corrects sont fournis
  • Vérifiez si des pare-feu bloquent les ports requis (généralement 554 pour RTSP)
  • Envisagez d'utiliser TCP plutôt qu'UDP si vous rencontrez des pertes de paquets
  • Testez les flux de la caméra avec VLC ou un outil similaire pour isoler les problèmes propres à l'application

Besoin de l'URL RTSP de votre caméra ? Parcourez notre répertoire des marques de caméras IP pour des URL RTSP et des exemples de connexion par marque.

Documentation associée