Agent DVR: Plugins

Installation des plugins

La manière la plus simple d'installer des plugins est via le portail web distant. Une fois connecté, cliquez sur l'icône du serveur en haut à gauche et accédez à 'Plugins' sous Système. Ici, vous pouvez sélectionner le plugin que vous souhaitez utiliser dans le menu déroulant en haut à droite et cliquer sur 'Installer' pour commencer.

Préférez-vous une installation manuelle ? Aucun problème ! Vous pouvez construire les plugins à partir des sources puis copier la sortie construite dans Agent/Plugins/PLUGINNAME. Cette méthode vous donne plus de contrôle sur le processus d'installation.

Plugins disponibles

Agent DVR est livré avec des fonctionnalités avancées de traitement vidéo telles que l'intégration de l'IA CodeProject, ainsi que le suivi avancé des objets, la reconnaissance audio et les détecteurs de comptage. Pour améliorer encore votre expérience, nous proposons une gamme de plugins que vous pouvez utiliser dans AgentDVR pour étendre ses fonctionnalités.

Liste des plugins

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

Événements déclenchés : Code-barres reconnu
Prise en charge : Vidéo

capture d'écran
Gain
Appliquer des filtres de bande en direct sur l'audio provenant des périphériques audio.

Événements déclenchés : Aucun
Prise en charge : Audio

capture d'écran
Délai en direct
Ajoute un délai à l'audio et à la vidéo en direct (utile pour l'analyse sportive).

Événements déclenchés : Aucun
Prise en charge : Vidéo, Audio

capture d'écran
Météo
Ajoute une superposition d'état météo à la vidéo en direct en fonction de votre emplacement. Déclenche des événements si la météo change - par exemple, s'il y a une tempête ou si les rafales de vent ou les limites de température sont dépassées. Vous pouvez personnaliser la mise en page et le mode d'affichage des données météo, de l'icône uniquement aux détails complets.
La configuration de la météo utilise une chaîne de format pour disposer 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érature : {temp} Ressenti : {feelsLike} 
 Humidité : {humidity} UVI : {uvi}

Icône uniquement :

{icon}

Une ligne :

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

Événements déclenchés : Température élevée, Rafale, État
Prise en charge : Vidéo

capture d'écran
Si vous utilisez un plugin audio comme 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 Plugins pour les périphériques audio. Alternativement, vous pouvez cliquer sur l'icône du serveur, Modifier les périphériques et modifier le microphone dans cette liste.

Configuration des plugins

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. Recherchez l'onglet Plugins dans le menu déroulant en haut à droite. Ici, vous pouvez sélectionner le plugin souhaité et cliquer sur le bouton "..." pour le configurer selon vos besoins.

Certains plugins déclenchent des événements auxquels vous pouvez attacher des actions. Par exemple, le plugin Météo déclenche un événement Rafale lorsque les vents dépassent une valeur spécifiée (configurable dans le plugin). En modifiant la caméra et en accédant à l'onglet Actions, vous avez la possibilité de répondre à cela - par exemple, en déclenchant une alarme ou en lançant un enregistrement. Il vous suffit de sélectionner le nom du plugin : événement - par exemple Météo : Rafale dans la liste déroulante Si et d'assigner une action.

Créez votre propre Plugin

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

Pour commencer à créer des plugins pour Agent DVR, ils doivent être développés en tant que projets .Net Standard 2.0, compatibles avec toutes les plateformes. Commencez par cloner nos plugins open-source sur https://github.com/ispysoftware/AgentDVR-Plugins. Vous aurez besoin d'une version récente de Visual Studio pour les construire.

Nous vous recommandons de commencer avec le plugin de démonstration comme base. Assurez-vous d'avoir la dernière version d'Agent installée. Après avoir construit le plugin de démonstration, copiez tous les fichiers de Demo\bin\Debug\netstandard2.0 vers Agent\Plugins\Demo\. Redémarrez Agent, modifiez une caméra et rendez-vous à l'onglet Plugins. Activez le plugin, sélectionnez Demo dans la liste déroulante et cliquez sur le bouton "..." pour le configurer.

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


Notes sur les plugins pour les développeurs :

Configuration : Agent utilise XML, XSD et JSON pour le stockage et le rendu des paramètres. Pour modifier le fichier config.xsd, utilisez l'éditeur XML (Texte) de Visual Studio avec l'encodage. Après avoir ajouté les champs nécessaires, générez le fichier de classe C# en utilisant la commande C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\xsd.exe /c config.xsd dans le répertoire du fichier xsd.

Le rendu de la configuration d'Agent et la mise à jour XML reposent 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 clés 'bindto' dans json sont liés aux champs XML de la configuration. Agent automatise le rendu des contrôles, le stockage des paramètres et les mises à jour.

Ajouter "live": true aux entrées json permet des mises à jour immédiates sans attendre le clic sur le bouton OK, ce qui est idéal pour l'ajustement en direct. Le champ 'converter' utilise 'PopulateResponse' dans Utils.cs pour le formatage des valeurs.

Support multimédia : Choisissez de traiter la "vidéo", l'"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 de mouvement/alerte : Traitez les trames en cas de mouvement ou d'alerte en utilisant la méthode 'ProcessEvent' dans le plugin de démonstration. Cela permet de traiter les trames uniquement pendant ces événements.

Événements personnalisés : La méthode 'GetCustomEvents' de votre plugin doit renvoyer une liste d'événements personnalisés qu'il génère. Ces événements apparaissent ensuite sous Actions dans la liste 'Si' de l'interface utilisateur d'Agent. Déclenchez ces événements avec un élément 'Result', en spécifiant le nom de l'action et éventuellement MSG, Tag, Filename et AIJSON.

Alerte, détection et balise : Déclenchez des alertes ou détectez des événements en ajoutant un résultat avec l'événement "alert" ou "detect". Balisez les enregistrements en cours avec un événement 'tag' et définissez les balises selon les besoins.

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

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