
zoneminder v1.38.4
ZoneMinder è un'applicazione software gratuita e open source per la televisione a circuito chiuso sviluppata per Linux che supporta telecamere IP, USB e analogiche.
ZoneMinder
Tutta la documentazione per ZoneMinder è ora disponibile online all'indirizzo https://zoneminder.readthedocs.org
Panoramica
ZoneMinder è un insieme integrato di applicazioni che forniscono una soluzione completa di sorveglianza, consentendo acquisizione, analisi, registrazione e monitoraggio di qualsiasi telecamera CCTV o di sicurezza collegata a una macchina basata su Linux. È progettato per funzionare su distribuzioni che supportano l'interfaccia Video For Linux (V4L) ed è stato testato con telecamere collegate a schede BTTV, varie telecamere USB e supporta anche la maggior parte delle telecamere di rete IP.
Contattare il Team di Sviluppo
Prima di creare un issue nel nostro forum GitHub, leggi le nostre regole di pubblicazione: https://github.com/ZoneMinder/ZoneMinder/wiki/Github-Posting-Rules
Il nostro Dockerfile è stato spostato
Segnala gli issue relativi al Dockerfile di ZoneMinder qui: https://github.com/ZoneMinder/zmdockerfiles
Metodi di Installazione
Installazione da un Repository di Pacchetti
Questo è il metodo consigliato per installare ZoneMinder sul tuo sistema. I pacchetti di ZoneMinder sono mantenuti per le seguenti distribuzioni:
- Ubuntu tramite il PPA di Isaac Connor
- Debian dal loro repository predefinito
- RHEL/CentOS e cloni tramite RPM Fusion
- Fedora tramite RPM Fusion
- OpenSuse tramite repository di terze parti
- Mageia dal loro repository predefinito
- Arch tramite AUR
- Gentoo tramite Portage Overlays
Se un repository che ospita i pacchetti di ZoneMinder non è disponibile per la tua distribuzione, ti invitiamo a creare il tuo pacchetto, piuttosto che compilare dal sorgente. Sebbene ogni distribuzione sia diversa in modi che la distinguono dalle altre, spesso sono abbastanza simili da permetterti di adattare le istruzioni di compilazione di un pacchetto di un'altra distribuzione alla tua.
La Compilazione dal Sorgente è Sconsigliata
Storicamente, installare ZoneMinder sul tuo sistema richiedeva la compilazione dal codice sorgente eseguendo i tradizionali comandi configure, make, make install. Per far compilare ZoneMinder, tutte le sue dipendenze dovevano essere determinate e installate in anticipo. Gli script di init e logrotate dovevano essere copiati manualmente al loro posto dopo la compilazione. Pacchetti opzionali come jscalendar e Cambozola dovevano essere installati manualmente. Le disinstallazioni potevano lasciare file obsoleti in giro, il che poteva causare problemi durante un aggiornamento. A proposito di aggiornamenti, quando arrivava il momento di aggiornare, tutti questi passaggi manuali dovevano essere ripetuti di nuovo.
Oggi esistono metodi migliori che fanno gran parte di questo lavoro per te. L'attuale team di sviluppo, insieme ad altri volontari, ha fatto grandi passi avanti nel fornire le risorse necessarie per evitare di compilare dal sorgente.
Creare un Pacchetto ZoneMinder
Creare un pacchetto di ZoneMinder non è più difficile che compilare dal sorgente. Infatti, se in passato hai compilato con successo ZoneMinder dal sorgente, potresti trovare questi passaggi ancora più semplici.
Quando si crea un pacchetto, è meglio farlo in un ambiente separato, dedicato a scopi di sviluppo. Potrebbe essere semplice come creare una macchina virtuale, usare Docker o usare mock. Basta un solo "Oops" per pentirsi di aver fatto questo lavoro sul server di produzione.
Infine, se desideri creare uno snapshot di sviluppo dal ramo master, si consiglia di creare prima il tuo pacchetto utilizzando una versione ufficiale di ZoneMinder. Questo aiuterà a identificare se eventuali problemi riscontrati sono causati dal processo di compilazione o sono un nuovo problema nel ramo master.
Consulta il nostro sito ReadtheDocs per istruzioni specifiche per distribuzione.
Manutentori dei Pacchetti
Molti valori predefiniti delle variabili di configurazione di ZoneMinder non sono configurabili al momento della compilazione tramite autotools o cmake. È stato aggiunto un nuovo strumento chiamato zmeditconfigdata.sh per consentire ai manutentori dei pacchetti di manipolare qualsiasi variabile memorizzata in ConfigData.pm senza dover applicare patch al sorgente.
Ad esempio, supponiamo che tu abbia creato un nuovo pacchetto ZoneMinder che contiene il file javascript di cambozola. Tuttavia, per impostazione predefinita il supporto a cambozola è disattivato. Per risolvere, aggiungi questo allo script di pacchettizzazione:
./utils/zmeditconfigdata.sh ZM_OPT_CAMBOZOLA yes
Nota che zmeditconfigdata.sh deve essere richiamato dalla cartella di build principale, prima di eseguire cmake o configure.
Docker
Docker è un sistema per eseguire applicazioni all'interno di contenitori isolati. ZoneMinder e il webserver di ZM verranno eseguiti utilizzando il Dockerfile contenuto in questo repository. Tuttavia, c'è ancora del lavoro da fare per garantire che le principali funzionalità di ZM funzionino correttamente e siano documentate.
Modello di Contributo e Sviluppo
- Sorgente ospitato su GitHub
- Segnala gli issue su GitHub Issues
- Domande/richieste di funzionalità su Slack o forum
Le pull request sono molto benvenute! Se desideri contribuire, segui i seguenti passaggi. Sebbene il passaggio 3 sia facoltativo, è preferibile.
- Fai il fork del repository
- Apri un issue nel nostro GitHub Issues Tracker. Segui il modello di issue per descrivere il bug o il problema di sicurezza che hai trovato. Tieni presente che le richieste di funzionalità o le domande devono essere pubblicate nel nostro forum utenti o nel canale Slack.
- Crea il tuo branch per la funzionalità (
git checkout -b 456-my-new-feature) - Committa le tue modifiche (
git commit -am 'Added some feature') È preferibile "committare presto e spesso" invece di raggruppare tutte le modifiche in un singolo commit. - Carica il tuo branch sul tuo fork su github (
git push origin 456-my-new-feature) - Crea una nuova Pull Request
- Il team poi esaminerà, discuterà e, si spera, unirà le tue modifiche.

