Agent DVR: Plugins

Installation de modules complémentaires

Les modules externes sont des modules d'extension optionnels qui enrichissent Agent DVR avec des fonctionnalités supplémentaires de traitement audio et vidéo, telles que la numérisation de codes-barres, les superpositions météorologiques et les filtres audio.

Le moyen le plus simple d'installer les modules externes est via le portail Web à distance. Une fois connecté, cliquez sur l'icône Serveur en haut à droite et naviguez vers « Modules externes » sous Système. Ici, vous pouvez sélectionner le module externe que vous souhaitez utiliser dans le menu déroulant en haut à droite et cliquez sur « Installer » pour commencer.

Préférez installer manuellement ? Pas de problème ! Vous pouvez construire les modules externes à partir de la source puis copier la sortie construite vers Agent/Plugins/PLUGINNAME. Cette méthode vous donne plus de contrôle sur le processus d'installation.

Modules externes disponibles

Agent DVR est doté de fonctionnalités avancées de traitement vidéo telles que l'intégration de CodeProject AI, ainsi que le suivi avancé d'objets, la reconnaissance audio et les détecteurs de comptage. Pour améliorer davantage votre expérience, nous proposons une gamme de modules externes que vous pouvez utiliser dans AgentDVR pour étendre sa fonctionnalité.

Liste des extensions

Codes-barres

Scannez pratiquement n'importe quel code-barres à partir d'une caméra (Windows uniquement).

Événements levés : Code-barres reconnu
Supports : Vidéo

capture d'écran

Gain

Appliquez des filtres de bande en direct sur l'audio provenant des périphériques audio.

Événements levés : Aucun
Supports : Audio

capture d'écran

Délai en direct

Ajoute un délai à l'audio et à la vidéo en direct (utile pour l'analyse de sports).

Événements levés : Aucun
Supports : Vidéo, Audio

capture d'écran

Météo

Ajoute une superposition d'état météorologique à la vidéo en direct en fonction de votre emplacement. Levez des événements si la météo change - par exemple si une tempête approche ou si les rafales de vent ou les limites de température sont dépassées. Vous pouvez personnaliser la disposition et le mode d'affichage des données météorologiques, allant d'une simple icône aux détails complets.

La configuration météo accepte une chaîne de format pour organiser les informations. Voici quelques exemples de chaînes de format que vous pouvez utiliser :

Informations complètes :

{icon}{main}: {description} 
 Vent : {wind} Rafale : {gust} 
 Temp : {temp} Ressenti : {feelsLike} 
 Humidité : {humidity} UVI : {uvi}

Icône uniquement :

{icon}

Une ligne :

{main} {wind} {temp} {humidity} UVI : {uvi}

Événements levés : Température élevée, Rafale, Statut
Supports : Vidéo

capture d'écran
Si vous utilisez un module audio tel que Listen sur une caméra, vous devrez modifier la caméra, sélectionner l'onglet Audio et cliquer pour configurer le microphone. À partir de là, vous pouvez accéder à l'onglet Modules pour les périphériques audio. Vous pouvez également cliquer sur l'icône Serveur, sélectionner Modifier les périphériques et modifier le microphone à partir de cette liste.

Configuration des modules externes

Prêt à exploiter la puissance des plugins ? Ajoutez simplement un périphérique (caméra et/ou microphone) et accédez à ses paramètres de modification. Cherchez l'onglet Plugins dans le menu déroulant en haut à droite. Ici, vous pouvez sélectionner votre plugin souhaité et cliquer sur le bouton « ... » pour le configurer selon vos besoins.

Certains plugins déclenchent des événements auxquels vous pouvez associer des actions. Le plugin Météo, par exemple, déclenche un événement Rafale quand les vents en rafales dépassent une valeur spécifiée (configurable dans le plugin). Modifier la caméra et accéder à l'onglet Actions vous donne des options pour réagir à cela - déclencher une alarme ou démarrer un enregistrement par exemple. Sélectionnez simplement le nom du plugin : événement (par ex. Météo : Rafale) dans la boîte de sélection Si et attribuez une action.

Créer votre propre Plugin

Les plugins sont des modules dynamiques que vous pouvez ajouter à Agent DVR pour améliorer ses capacités de traitement audio et vidéo. Avec les plugins, appliquez des effets en temps réel, des superpositions, déclenchez des événements et activez des alertes dans Agent DVR, permettant des actions personnalisées avancées.

Pour commencer à créer des plugins pour Agent DVR, commencez par cloner nos plugins open-source à https://github.com/ispysoftware/AgentDVR-Plugins. Vous aurez besoin d'une version récente de Visual Studio pour les compiler.

Nous recommandons de commencer avec le plugin de démonstration comme base. Assurez-vous que vous avez la dernière version d'Agent installée. Après avoir compilé le plugin de démonstration, copiez tous les fichiers du dossier de sortie vers Agent\Plugins\Demo\. Redémarrez Agent DVR, modifiez une caméra, et allez à l'onglet Plugins. Activez le plugin, sélectionnez Demo dans la liste déroulante, et cliquez sur le bouton « ... » pour le configurer.

Le plugin Demo est entièrement compatible multiplateforme et présente les fonctionnalités étendues que vous pouvez créer avec les plugins. Il comprend des effets vidéo en direct, des superpositions graphiques, un contrôle du volume en direct, et l'intégration avec le sous-système Événements d'Agent DVR. Le menu du plugin fournit des informations sur le fonctionnement de divers contrôles d'entrée.


Notes sur les plugins pour les développeurs :

Configuration : Agent DVR utilise JSON et un fichier de classe pour le stockage des paramètres. Pour configurer les paramètres, modifiez le fichier config.cs.

Le rendu de la configuration d'Agent DVR repose sur des fichiers .json. Modifiez config_en.json dans le répertoire json pour l'affichage de l'interface utilisateur, où vous pouvez ajouter plusieurs sections rendues sous forme d'onglets. Les champs de clé « bindto » dans json sont liés aux champs de configuration. Agent DVR automatise le rendu des contrôles, le stockage des paramètres et les mises à jour.

L'ajout de "live": true aux entrées json active les mises à jour immédiates sans attendre le clic du bouton OK, ce qui est idéal pour le réglage en direct. Le champ « converter » utilise « PopulateResponse » dans Utils.cs pour le formatage des valeurs.

Support des médias : Choisissez de traiter « video », « audio », ou les deux. Le champ « Supports » dans Main.cs peut être codé en dur.

Traitement continu : Chaque trame vidéo et audio du périphérique est envoyée au plugin pour analyse ou traitement, comme le montre la démonstration.

Traitement des mouvements/alertes : Traitez les trames lors de mouvements ou d'alertes en utilisant la méthode « ProcessEvent » dans le plugin de démonstration. Cela permet le traitement des trames uniquement lors de ces événements.

Événements personnalisés : La méthode « GetCustomEvents » dans votre plugin doit retourner une liste des événements personnalisés qu'il génère. Ces événements apparaissent alors sous Actions dans la liste « Si » de l'interface utilisateur d'Agent DVR. Déclenchez ces événements avec un élément « Result », en spécifiant le nom de l'action et MSG, Tag, Nom du fichier et AIJSON optionnels.

Alerte, Détection et Tag : Déclenchez des alertes ou détectez des événements en ajoutant un Result avec « alert » ou « detect » comme eventName. Marquez les enregistrements en cours avec un eventName « tag » et définissez les Tags selon les besoins.

Appels API : Agent DVR initialise les plugins avec les informations du périphérique et le port du serveur local, utiles pour les commandes API du périphérique. Les propriétés AppDataPath et AppPath sont également définies pour l'affichage ou les emplacements d'enregistrement de fichiers.

Distribution : Vous avez créé un plugin cool ou utile ? Partagez-le avec nous et contribuez à la communauté !