
zoneminder v1.38.4
ZoneMinder é um aplicativo de software de circuito fechado de televisão gratuito e de código aberto, desenvolvido para Linux, que suporta câmeras IP, USB e analógicas.
ZoneMinder
Toda a documentação do ZoneMinder está agora online em https://zoneminder.readthedocs.org
Visão geral
O ZoneMinder é um conjunto integrado de aplicações que fornece uma solução completa de vigilância, permitindo captura, análise, gravação e monitoramento de qualquer câmera CCTV ou de segurança conectada a uma máquina baseada em Linux. Ele foi projetado para rodar em distribuições que suportam a interface Video For Linux (V4L) e foi testado com câmeras de vídeo conectadas a placas BTTV, várias câmeras USB e também suporta a maioria das câmeras IP de rede.
Contato com a Equipe de Desenvolvimento
Antes de criar uma issue em nosso fórum do github, leia nossas regras de postagem: https://github.com/ZoneMinder/ZoneMinder/wiki/Github-Posting-Rules
Nosso Dockerfile foi movido
Por favor, registre issues relacionadas ao Dockerfile do ZoneMinder aqui: https://github.com/ZoneMinder/zmdockerfiles
Métodos de Instalação
Instalar a partir de um Repositório de Pacotes
Este é o método recomendado para instalar o ZoneMinder no seu sistema. Pacotes do ZoneMinder são mantidos para as seguintes distros:
- Ubuntu através do PPA do Isaac Connor
- Debian a partir do seu repositório padrão
- RHEL/CentOS e clones através do RPM Fusion
- Fedora através do RPM Fusion
- OpenSuse através de repositório de terceiros
- Mageia a partir do seu repositório padrão
- Arch através do AUR
- Gentoo através de Portage Overlays
Se um repositório que hospeda pacotes do ZoneMinder não estiver disponível para sua distro, encorajamos você a compilar seu próprio pacote, em vez de compilar a partir do código-fonte. Embora cada distro seja diferente de maneiras que a distinguem das demais, elas geralmente são semelhantes o suficiente para permitir que você adapte as instruções de compilação de pacotes de outra distro para a sua.
Compilar a partir do código-fonte é desencorajado
Historicamente, instalar o ZoneMinder no seu sistema exigia compilar a partir do código-fonte, executando os comandos tradicionais configure, make, make install. Para que o ZoneMinder fosse compilado, todas as suas dependências precisavam ser determinadas e instaladas antecipadamente. Scripts de init e logrotate tinham que ser copiados manualmente para seus devidos lugares após a compilação. Pacotes opcionais como jscalendar e Cambozola precisavam ser instalados manualmente. As desinstalações podiam deixar arquivos obsoletos para trás, o que poderia causar problemas durante uma atualização. Falando em atualizações, quando chegava a hora de atualizar, todos esses passos manuais precisavam ser repetidos novamente.
Existem métodos melhores hoje que fazem grande parte disso por você. A equipe de desenvolvimento atual, juntamente com outros voluntários, fez grandes avanços no fornecimento dos recursos necessários para evitar a compilação a partir do código-fonte.
Compilando um Pacote do ZoneMinder
Compilar o ZoneMinder em um pacote não é mais difícil do que compilar a partir do código-fonte. Na verdade, se você já compilou o ZoneMinder a partir do código-fonte no passado, pode achar estes passos mais fáceis.
Ao compilar um pacote, é melhor fazer esse trabalho em um ambiente separado, dedicado a fins de desenvolvimento. Isso pode ser tão simples quanto criar uma máquina virtual, usar Docker ou usar mock. Basta um “Ops” para você se arrepender de fazer esse trabalho em seu servidor de produção.
Por fim, se você deseja compilar um snapshot de desenvolvimento a partir do branch master, é recomendável primeiro compilar seu pacote usando uma versão oficial do ZoneMinder. Isso ajudará a identificar se quaisquer problemas que você encontrar são causados pelo processo de compilação ou se são um novo problema no branch master.
Visite nosso site ReadtheDocs para instruções específicas por distro.
Mantenedores de Pacotes
Muitos dos valores padrão das variáveis de configuração do ZoneMinder não são configuráveis no momento da compilação por meio de autotools ou cmake. Uma nova ferramenta chamada zmeditconfigdata.sh foi adicionada para permitir que os mantenedores de pacotes manipulem qualquer variável armazenada em ConfigData.pm sem aplicar patches no código-fonte.
Por exemplo, digamos que eu criei um novo pacote do ZoneMinder que contém o arquivo javascript cambozola. No entanto, por padrão, o suporte ao cambozola está desativado. Para corrigir isso, adicione o seguinte ao script de empacotamento:
./utils/zmeditconfigdata.sh ZM_OPT_CAMBOZOLA yes
Observe que o zmeditconfigdata.sh deve ser chamado, a partir da pasta raiz da compilação, antes de executar cmake ou configure.
Docker
Docker é um sistema para executar aplicações dentro de contêineres isolados. ZoneMinder e o servidor web do ZM serão executados usando o Dockerfile contido neste repositório. No entanto, ainda há trabalho necessário para garantir que os principais recursos do ZM funcionem corretamente e sejam documentados.
Modelo de Contribuição e Desenvolvimento
- Código-fonte hospedado no GitHub
- Relate issues no GitHub Issues
- Perguntas/solicitações de recursos no Slack ou nos fóruns
Pull requests são muito bem-vindos! Se você gostaria de contribuir, siga os passos a seguir. Embora o passo 3 seja opcional, ele é preferível.
- Faça um fork do repositório
- Abra uma issue em nosso Rastreador de Issues do GitHub. Siga o modelo de issue para descrever o bug ou problema de segurança que você encontrou. Observe que solicitações de recursos ou perguntas devem ser postadas em nosso fórum de usuários ou canal do Slack.
- Crie seu branch de funcionalidade (
git checkout -b 456-my-new-feature) - Faça commit das suas alterações (
git commit -am 'Added some feature') É preferível que você 'faça commits cedo e com frequência' em vez de agrupar todas as alterações em um único commit. - Envie seu branch para o seu fork no github (
git push origin 456-my-new-feature) - Crie um novo Pull Request
- A equipe então revisará, discutirá e, esperamos, mesclará suas alterações.

