The server, the driver (if you plan to use analog cameras), the cross platform remote client, and the web interface.

The server is closed source, written in C/C++ and handles video streaming from network cameras using RTP, and video streaming the driver using Bluecherry hardware compression cards.

The client is open source, written in Qt/C++ and handles live video streaming from multiple Bluecherry servers, video playback from previously recorded events, pan / tilt / zoom control and bandwidth management features.  The client is also cross platform, and we provide the client application for OS X, Linux and Windows operating systems.

The driver, if you are using analog cameras, is open source and freely downloadable from Github.  Using the Video4Linux2 API it dual streams H.264|MPEG-4 encoded video and MJPEG video.  Our software also reads the motion detection flags from the on-board motion detection analytics, saving huge amounts of CPU time.

The web interface, supports live streaming and provides access to all configuration settings.  There is also an API for accessing certain parts of the software (live view, Pan / Tilt / Zoom control, etc).