Getting Started
From:     https://zoneminder.readthedocs.io/en/stable/userguide/gettingstarted.html




Getting Started Having followed the Installation Guide for your distribution you should now be able to load the ZoneMinder web frontend. By default this will be with the Classic skin, below is an example of the page you should now see.
Setting Timezone Previous versions of ZoneMinder required the user to set up Timezone correctly in php.ini. This is no longer the case. Starting 1.34, ZoneMinder allows you to specify the TimeZone in the UI. Please make sure it is set up correctly. The Timezone can be changed by selecting: Options->System->Timezone
Enabling Authentication We strongly recommend enabling authentication right away. There are some situations where certain users don’t enable authentication, such as instances where the server is in a LAN not directly exposed to the Internet, and is only accessible via VPN etc., but in most cases, authentication should be enabled. So let’s do that right away. Note The default login/password is “admin/admin”
Understanding the Web Console Before we proceed, lets spend a few minutes understanding the key functions of the web console. For the sake of illustration, we are going to use a populated zoneminder configuration with several monitors and events. This screen is called the “console” screen in ZoneMinder and shows a summary of your monitors, associated events and more information. Here is an example of multiple run states that I’ve defined. Each one of these runstates changes the mode of specific monitors depending on time of day and other conditions. Use your imagination to decide which conditions require state changes.
  • K: This line shows you system health information
  • L: This defines how Zoneminder will record events. There are various modes. In brief Modect == record if a motion is detected,Record = always record 24x7, Mocord = always record PLUS detect motion, Monitor = just provide a live view but don’t record anytime, Nodect = Don’t record till an external entity via zmtrigger tells Zoneminder to (this is advanced usage).
  • M: This is the “source” column that tells you the type of the camera - if its an IP camera, a USB camera or more. In this example, they are all IP cameras. Green means the monitor is running. Red means there is something wrong with that camera.
  • N: This is the core of ZoneMinder - recording events. It gives you a count of how many events were recorded over the hour, day, week, month.
  • O: These are the “Zones”. Zones are areas within the camera that you mark as ‘hotspots’ for motion detection. Simply put, when you first configure your monitors (cameras), by default Zoneminder uses the entire field of view of the camera to detect motion. You may not want this. You may want to create “zones” specifically for detecting motion and ignore others. For example, lets consider a room with a fan that spins. You surely don’t want to consider the fan moving continuously a reason for triggering a record? Probably not - in that case, you’d leave the fan out while making your zones.
  • P: This is a “visual filter” which lets you ‘filter’ the console display based on text you enter. While this may not be particularly useful for small systems, ZoneMinder is also used in mega-installations will well over 200+ cameras and this visual filter helps reduce the monitors you are seeing at one time.
    Adding Monitors Now that we have a basic understanding of the web console, lets go about adding a new camera (monitor). For this example, lets assume we have an IP camera that streams RTSP at LAN IP address 192.168.1.33.
    The first thing we will need to know is how to access that camera’s video feed. You will need to consult your camera’s manual or check their forum. Zoneminder community users also have a frequently updated list right here that lists information about many cameras. If you don’t find your list there and can’t seem to find it elsewhere, feel free to register and ask in the user forums. Note
    This is meant to be a simple example. For a more detailed explanation of other options available when creating a monitor, please see Defining Monitors
    The camera we are using as an example here is a Foscam 9831W which is a 1280x960 RTSP camera, and the URL to access it’s feed is username:password@IPADDRESS:PORT/videoMain Let’s get started: Click on the “Add” button below: This brings up the new monitor window: NOTE: It is entirely possible that cuda and cuvid don’t work for you and you need different values. Isaac uses cuda in DecoderHWAccelName and leaves DecoderHWAccelDevice empty. Try that too. Todo add GPU docs That’s pretty much it. Click on Save. We are not going to explore the other tabs in this simple guide. You now have a configured monitor: And then, finally, to see if everything works, if you click on the garage monitor you just added, you should be able to see its live feed. If you don’t, inspect your webserver logs and your ZoneMinder logs to see what is going on.
    Switching to another theme Todo Fix theme text after I clearly understand what System->CSS is doing When you first install ZoneMinder, you see is what is called a “classic” skin. Zoneminder has a host of configuration options that you can customize over time. This guide is meant to get you started the easiest possible way, so we will not go into all the details. However, it is worthwhile to note that Zoneminder also has a ‘flat’ theme that depending on your preferences may look more modern. So let’s use that as an example of introducing you to the Options menu Now, switch to the “Display” tab and also select “Flat” there like so: Your screen will now look like this: Congratulations! You now have a modern looking interface.
    Conclusion This was a quick ‘Getting Started’ guide where you were introduced to the very basics of how to add a monitor (camera). We’ve skipped many details to keep this concise. Please refer to Defining Monitors for many other customization details.