c859f7291c
* Moved writing of configure options from Controller to Model. Fixes #191.
* Initial commit for saving events as videos :)
* Add zm_video.cpp to autotools
* Add zm_video.h to autotools
* Search for MP4V2 header file 3 times: mp4v2/mp4v2.h, mp4v2.h, mp4.h
* Fix serve memory leak
* Few minor code improvements
* Added the ability to override preset, tune, profile and few other improvements
* Correctly write SPS & PPS from x264 encoder headers
* Remove unnessecary SPS & PPS writing code
* Imported missing files from master to feature-h264-videostorage
* Audio support including fixes for dts/pts, split on keyframe and update to mkv extension to prevent ffmpeg problems writing rtsp audio to mp4 containter (header problem)
* Updates to make gcc happy
* Add html5 video control to timeline and event to support mkv playback
* Add zm_videostore.cpp to CMakeLists.txt
* Remove Modern Branch for now
* Fix minor bug
* Option handled added in master, removing duplicate declaration
* Add CaptureandRecord from zm_camera.h
* Putting placeholder in for CaptureAndRecord function
* Removed duplicate code and brackets
* add digest auth file for cmake
Conflicts:
src/CMakeLists.txt
* Add web dir back into Makefile.am
Revert "Removed web from SUBDIRS in Makefile.am"
This reverts commit
|
||
---|---|---|
.. | ||
README.md | ||
phpdate.ini | ||
setup.sh | ||
start.sh |
README.md
Overview
Docker allows you to quickly spin up application containers, which are similar to very lightweight virtual machines. The ZoneMinder Dockerfile will start an Ubuntu 12.04 container with MySql, Apache, and PHP properly configured, and will then compile and install ZoneMinder.
It will also start an SSH server that you can use to log into the container.
This is still a bit of a work in progress.
How To Use
- Install Docker
- Build ZoneMinder container
sudo docker build -t yourname/zoneminder github.com/ZoneMinder/ZoneMinder
- Run it
CID=$(sudo docker run -d -p 222:22 -p 8080:80 --name zoneminder yourname/zoneminder)
- Use it -- you can now SSH to port 222 on your host as user root with password root. You can also browse to your host on port 8080 to access the zoneminder web interface
Developing With Docker
If you wish to contribute to ZoneMinder, Docker can be helpful. By re-running
docker build
in your working directory, any code modifications you have
made will be pulled into a new container, compiled, and started, all without
modifying your base system.
Development is not totally without annoyances, as any change
to the project will require a full rebuild of all C++. Docker notices that the
directory which has been ADD'ed is now different, and therefore all steps after
the ADD command must be recomputed. A fix for this is to update the Dockerfile to
move the configure and make commands into start.sh, and then use a volume mount
to cache the build directory (I think it's /tmp
) on your host filesystem.
This would be really useful for a developer, and would remove the annoying build
problem, but some of the Docker push/pull benefits would be lost.
Docker containers can be both CPU and memory limited, so this can be a practical method to compile or run multiple development builds of ZoneFinder simultaneously without taxing your host system.
Use Cases
TODO
- Describe how to connect to monitors by mounting devices
- Create a 'development' dockerfile to remove the need to rebuild the entire project after each small change