All Projects → ZoneMinder → Zoneminder

ZoneMinder / Zoneminder

Licence: gpl-2.0
ZoneMinder is a free, open source Closed-circuit television software application developed for Linux which supports IP, USB and Analog cameras.

Programming Languages

PHP
23972 projects - #3 most used programming language
perl
6916 projects
C++
36643 projects - #6 most used programming language
javascript
184084 projects - #8 most used programming language
CSS
56736 projects
CMake
9771 projects

Projects that are alternatives of or similar to Zoneminder

zmeventnotification
Machine Learning powered Secure Websocket & MQTT based ZoneMinder event notification server
Stars: ✭ 376 (-89.1%)
Mutual labels:  zoneminder, zmninja
Ffmpeg Build Script
The FFmpeg build script provides an easy way to build a static FFmpeg on OSX and Linux with non-free codecs included.
Stars: ✭ 290 (-91.59%)
Mutual labels:  h264, h265
demuxer
A tool for demux ts/mp4/flv by typescript. Support HEVC/AVC/AAC codec
Stars: ✭ 108 (-96.87%)
Mutual labels:  h264, h265
uci
Ultra Compact Image (UCI)
Stars: ✭ 79 (-97.71%)
Mutual labels:  h264, h265
smart rtmpd
RTMP server, smart, compact, high performance(c, c++), high concurrency, easy to maintain, easy to deploy, (supports multiple operating systems Windows and Linux, ARM, FreeBSD)
Stars: ✭ 159 (-95.39%)
Mutual labels:  h264, h265
simplx
C++ development framework for building reliable cache-friendly distributed and concurrent multicore software
Stars: ✭ 61 (-98.23%)
Mutual labels:  scalable, distributed
Node Video Lib
Node.js Video Library / MP4 & FLV parser / MP4 builder / HLS muxer
Stars: ✭ 264 (-92.35%)
Mutual labels:  h264, h265
Nodeplayer.js
Pure JavaScrip HTML5 live stream player
Stars: ✭ 157 (-95.45%)
Mutual labels:  h264, h265
flowgraph
Flowgraph package for scalable asynchronous system development
Stars: ✭ 51 (-98.52%)
Mutual labels:  scalable, distributed
Nager.VideoStream
Get images from a network camera stream or webcam
Stars: ✭ 27 (-99.22%)
Mutual labels:  h264, h265
Coerce Rs
Coerce - an asynchronous (async/await) Actor runtime and cluster framework for Rust
Stars: ✭ 231 (-93.3%)
Mutual labels:  scalable, distributed
yangwebrtc
Webrtc SDK for C++
Stars: ✭ 257 (-92.55%)
Mutual labels:  h264, h265
Vernemq
A distributed MQTT message broker based on Erlang/OTP. Built for high quality & Industrial use cases.
Stars: ✭ 2,628 (-23.83%)
Mutual labels:  scalable, distributed
VideoCodecKit
iOS macOS 编解码库 脱离ffmpeg等外部依赖 支持H.264 H.265裸流播放 硬件编解码 rtmp推流等
Stars: ✭ 78 (-97.74%)
Mutual labels:  h264, h265
Fgbase
Ready-send coordination layer on top of goroutines.
Stars: ✭ 45 (-98.7%)
Mutual labels:  scalable, distributed
colab-ffmpeg-cuda
FFmpeg build with CUDA support for Linux (especially for Google Colab)
Stars: ✭ 40 (-98.84%)
Mutual labels:  h264, h265
Testing Video
Generator of test video files for testing your media playback devices and calibrate TV sets
Stars: ✭ 70 (-97.97%)
Mutual labels:  h264, h265
Digital video introduction
A hands-on introduction to video technology: image, video, codec (av1, vp9, h265) and more (ffmpeg encoding).
Stars: ✭ 12,184 (+253.16%)
Mutual labels:  h264, h265
rrtsp client
Rust high level RTSP client
Stars: ✭ 12 (-99.65%)
Mutual labels:  h264, h265
litchi
这是一款分布式的java游戏服务器框架
Stars: ✭ 97 (-97.19%)
Mutual labels:  scalable, distributed

ZoneMinder

Build Status Bounty Source Join Slack IRC Network

All documentation for ZoneMinder is now online at https://zoneminder.readthedocs.org

Overview

ZoneMinder is an integrated set of applications which provide a complete surveillance solution allowing capture, analysis, recording and monitoring of any CCTV or security cameras attached to a Linux based machine. It is designed to run on distributions which support the Video For Linux (V4L) interface and has been tested with video cameras attached to BTTV cards, various USB cameras and also supports most IP network cameras.

Contacting the Development Team

Before creating an issue in our github forum, please read our posting rules: https://github.com/ZoneMinder/ZoneMinder/wiki/Github-Posting-Rules

Our Dockerfile has moved

Please file issues against the ZoneMinder Dockerfile here: https://github.com/ZoneMinder/zmdockerfiles

Installation Methods

Install from a Package Repository

This is the recommended method to install ZoneMinder onto your system. ZoneMinder packages are maintained for the following distros:

If a repository that hosts ZoneMinder packages is not available for your distro, then you are encouraged to build your own package, rather than build from source. While each distro is different in ways that set it apart from all the others, they are often similar enough to allow you to adapt another distro's package building instructions to your own.

Building from Source is Discouraged

Historically, installing ZoneMinder onto your system required building from source code by issuing the traditional configure, make, make install commands. To get ZoneMinder to build, all of its dependencies had to be determined and installed beforehand. Init and logrotate scripts had to be manually copied into place following the build. Optional packages such as jscalendar and Cambozola had to be manually installed. Uninstalls could leave stale files around, which could cause problems during an upgrade. Speaking of upgrades, when it comes time to upgrade all these manual steps must be repeated again.

Better methods exist today that do much of this for you. The current development team, along with other volunteers, have taken great strides in providing the resources necessary to avoid building from source.

Building a ZoneMinder Package

Building ZoneMinder into a package is not any harder than building from source. As a matter of fact, if you have successfully built ZoneMinder from source in the past, then you may find these steps to be easier.

When building a package, it is best to do this work in a separate environment, dedicated to development purposes. This could be as simple as creating a virtual machine, using Docker, or using mock. All it takes is one “Oops” to regret doing this work on your production server.

Lastly, if you desire to build a development snapshot from the master branch, it is recommended you first build your package using an official release of ZoneMinder. This will help identify whether any problems you may encounter are caused by the build process or is a new issue in the master branch.

Please visit our ReadtheDocs site for distro specific instructions.

Package Maintainers

Many of the ZoneMinder configuration variable default values are not configurable at build time through autotools or cmake. A new tool called zmeditconfigdata.sh has been added to allow package maintainers to manipulate any variable stored in ConfigData.pm without patching the source.

For example, let's say I have created a new ZoneMinder package that contains the cambozola javascript file. However, by default cambozola support is turned off. To fix that, add this to the packaging script:

./utils/zmeditconfigdata.sh ZM_OPT_CAMBOZOLA yes

Note that zmeditconfigdata.sh is intended to be called, from the root build folder, prior to running cmake or configure.

Docker

Docker is a system to run applications inside isolated containers. ZoneMinder, and the ZM webserver, will run using the Dockerfile contained in this repository. However, there is still work needed to ensure that the main ZM features work properly and are documented.

Contribution Model and Development

Pull requests are very welcome! If you would like to contribute, please follow the following steps. While step 3 is optional, it is preferred.

  1. Fork the repo
  2. Open an issue at our GitHub Issues Tracker. Follow the issue template to describe the bug or security issue you found. Please note feature requests or questions should be posted in our user forum or Slack channel.
  3. Create your feature branch (git checkout -b 456-my-new-feature)
  4. Commit your changes (git commit -am 'Added some feature') It is preferred that you 'commit early and often' instead of bunching all changes into a single commit.
  5. Push your branch to your fork on github (git push origin 456-my-new-feature)
  6. Create new Pull Request
  7. The team will then review, discuss and hopefully merge your changes.

Analytics

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].