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¶
- Plongée approfondie dans le protocole RTSP — fonctionnement du RTSP, options de transport et architecture de streaming
- Intégration des caméras IP ONVIF — WS-Discovery, gestion des profils et contrôle PTZ
- Intégration de sources NDI — alternative vidéo-sur-IP professionnelle pour studio et diffusion
- Tutoriel d'aperçu en direct d'une caméra IP — pas-à-pas vidéo avec un exemple C# minimal
- Enregistrer un flux RTSP vers MP4 — capturer n'importe quelle caméra IP dans un fichier
- Lecteur RTSP Media Blocks — alternative basée sur pipeline dans Media Blocks SDK
- Grille RTSP multi-caméras (mur NVR) — mur d'aperçu en direct 4×4 pour WPF et MAUI
- Reconnexion RTSP et basculement de repli — événements de déconnexion et
FallbackSwitchimage/texte/média sur tous les SDK