Agente DVR: Plugin

Installazione dei Plugin

Il modo più semplice per installare i plugin è tramite il portale web remoto. Una volta connesso, fai clic sull'icona Server in alto a sinistra e vai su 'Plugin' sotto Sistema. Qui puoi selezionare il plugin che desideri utilizzare dal menu a discesa in alto a destra e fare clic su 'Installa' per iniziare.

Preferisci installare manualmente? Nessun problema! Puoi compilare i plugin dal codice sorgente e quindi copiare l'output compilato in Agent/Plugins/PLUGINNAME. Questo metodo ti dà maggiore controllo sul processo di installazione.

Plugin Disponibili

Agent DVR è dotato di funzionalità avanzate di elaborazione video come l'integrazione AI di CodeProject, insieme al tracciamento avanzato degli oggetti, al riconoscimento audio e ai rilevatori di conteggio. Per migliorare ulteriormente la tua esperienza, offriamo una serie di plugin che puoi utilizzare in AgentDVR per estendere le sue funzionalità.

Elenco dei plugin

Codici a barre
Scansiona praticamente qualsiasi codice a barre da una fotocamera (solo Windows).

Eventi generati: Codice a barre riconosciuto
Supporta: Video

screenshot
Guadagno
Applica filtri di banda live all'audio proveniente dai dispositivi audio.

Eventi generati: Nessuno
Supporta: Audio

screenshot
Ritardo Live
Aggiunge un ritardo all'audio e al video live (utile per l'analisi sportiva).

Eventi generati: Nessuno
Supporta: Video, Audio

screenshot
Meteo
Aggiunge un overlay dello stato del tempo al video live in base alla tua posizione. Genera eventi se il tempo cambia, ad esempio se sta arrivando una tempesta o se vengono superati i limiti di raffiche di vento o temperatura. Puoi personalizzare il layout e la modalità di visualizzazione dei dati meteorologici, da un'icona a tutti i dettagli.
La configurazione del meteo richiede una stringa di formato per organizzare le informazioni. Ecco alcune stringhe di formato di esempio che puoi utilizzare:

Informazioni complete:

{icon}{main}: {description} 
 Vento: {wind} Raffica: {gust} 
 Temp: {temp} Percepita: {feelsLike} 
 Umidità: {humidity} UVI: {uvi}

Solo icona:

{icon}

Una riga:

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

Eventi generati: Alta temperatura, Raffica, Stato
Supporta: Video

screenshot
Se stai utilizzando un plugin audio come Listen su una fotocamera, dovrai modificare la fotocamera, selezionare la scheda Audio e fare clic per configurare il microfono. Da lì puoi accedere alla scheda Plugin per i dispositivi audio. In alternativa, puoi fare clic sull'icona del Server, Modifica Dispositivi e modificare il microfono da quell'elenco.

Configurazione dei Plugin

Pronto per sfruttare la potenza dei plugin? Aggiungi semplicemente un dispositivo (telecamera e/o microfono) e vai nelle sue impostazioni di modifica. Cerca la scheda Plugin nel menu a discesa in alto a destra. Qui puoi selezionare il plugin desiderato e fare clic sul pulsante "..." per configurarlo secondo le tue esigenze.

Alcuni plugin generano eventi a cui puoi associare azioni. Ad esempio, il plugin Meteo genera un evento Rafica quando i venti di raffica superano un valore specificato (configurabile nel plugin). Modificando la telecamera e navigando nella scheda Azioni, avrai opzioni per rispondere a questo evento - ad esempio, attivare un allarme o avviare una registrazione. Seleziona semplicemente il nome del plugin: evento - ad es. Meteo: Rafica nella casella Se condizione e assegna un'azione.

Crea il tuo Plugin

I plugin sono moduli dinamici che puoi aggiungere ad Agent per potenziare le sue capacità di elaborazione audio e video. Con i plugin, puoi applicare effetti in tempo reale, sovrapposizioni, generare eventi e attivare allarmi in Agent, consentendo azioni personalizzate avanzate.

Per iniziare a creare plugin per Agent DVR, devono essere sviluppati come progetti .Net Standard 2.0, compatibili su tutte le piattaforme. Inizia clonando i nostri plugin open-source su https://github.com/ispysoftware/AgentDVR-Plugins. Avrai bisogno di una versione recente di Visual Studio per compilarli.

Consigliamo di iniziare con il plugin dimostrativo come base. Assicurati di avere l'ultima versione di Agent installata. Dopo aver compilato il plugin dimostrativo, copia tutti i file da Demo\bin\Debug\netstandard2.0 in Agent\Plugins\Demo\. Riavvia Agent, modifica una telecamera e vai alla scheda Plugins. Abilita il plugin, seleziona Demo dal menu a discesa e clicca sul pulsante "..." per configurarlo.

Il plugin Demo è completamente compatibile multi-piattaforma e mostra l'ampia funzionalità che puoi sviluppare con i plugin. Include effetti video in tempo reale, sovrapposizioni grafiche, controllo del volume in tempo reale e integrazione con il sottosistema Eventi di Agent. Il menu del plugin fornisce informazioni su come operano i vari controlli di input.


Note sui Plugin per Sviluppatori:

Configurazione: Agent combina XML, XSD e JSON per lo storage e il rendering delle impostazioni. Per modificare il file config.xsd, utilizza l'Editor XML (Testo) di Visual Studio con Codifica. Dopo aver aggiunto i campi necessari, genera il file di classe C# utilizzando il comando C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\xsd.exe /c config.xsd nella directory del file xsd.

Il rendering della configurazione di Agent e l'aggiornamento XML si basano su file .json. Modifica config_en.json nella directory json per la visualizzazione dell'interfaccia utente, dove puoi aggiungere più sezioni renderizzate come schede. I campi chiave 'bindto' in json si collegano ai campi XML di configurazione. Agent automatizza il rendering dei controlli, lo storage delle impostazioni e gli aggiornamenti.

Aggiungere "live": true alle voci json abilita gli aggiornamenti immediati senza dover attendere il clic sul pulsante OK, ottimo per l'ottimizzazione in tempo reale. Il campo 'converter' utilizza 'PopulateResponse' in Utils.cs per la formattazione del valore.

Supporto Multimediale: Scegli di elaborare "video", "audio" o entrambi. Il campo 'Supports' in Main.cs può essere codificato direttamente.

Elaborazione Continua: Ogni frame video e audio del dispositivo viene inviato al plugin per analisi o elaborazione, come dimostrato nel demo.

Elaborazione del Movimento/Allarme: Elabora i frame in caso di movimento o allarmi utilizzando il metodo 'ProcessEvent' nel plugin dimostrativo. Ciò consente l'elaborazione dei frame solo durante questi eventi.

Eventi Personalizzati: Il metodo 'GetCustomEvents' nel tuo plugin dovrebbe restituire un elenco di eventi personalizzati che genera. Questi eventi compariranno quindi sotto Azioni nell'elenco 'Se' dell'interfaccia utente di Agent. Attiva questi eventi con un elemento 'Risultato', specificando nome dell'azione e opzionali MSG, Tag, Nome file e AIJSON.

Allarme, Rilevamento e Tag: Genera allarmi o rileva eventi aggiungendo un Risultato con nomeEvento "allarme" o "rilevamento". Etichetta le registrazioni in corso con un nomeEvento 'tag' e imposta i Tag come necessario.

Chiamate API: Agent inizializza i plugin con le informazioni del dispositivo e la porta del server locale, utili per i comandi API per il dispositivo. Le proprietà AppDataPath e AppPath sono anche impostate per la visualizzazione o i percorsi di salvataggio file.

Distribuzione: Hai creato un plugin interessante o utile? Condividilo con noi e contribuisci alla comunità!