I have recently installed and configured ZoneMinder on SlackWare 10.0 and must say that it's really slick. I do have a bunch of ideas to make it easier to use/more powerful though. (They may already be built in and I'm just missing them; if this is the case, please let me know as I'd like to use them.)
1. Restrict a user to still only pictures refreshed every n seconds. This would be useful instead of having streaming video as the only option to view monitors. I have a group of people that would like to see if a customer is wandering around other parts of the store, but don't want to generate the traffic/load that having 20 people streaming 6 cameras each would entail.
2. I've noticed that when you set the resolution of the montage images, the same settings are used for the image that cycles through the cameras. It would be nice to change this so that the cycled images could be whatever size you want.
3. I'd like to be able to remove the link to the zoneminder home page for certain users. (It just confuses the boss. )
4. The bandwidth settings are great, but I'd like to be able to restrict certain users to certain settings. User Blah can only use Low or Medium bandwidth, user Yak has to use Medium, etc. This could feasibly incorporate idea 1 above as long as 'Custom Bandwidth Options' were added and the ability to stream was part of them.
5. I think that a user should be allowed to change their own password.
6. The main window resizes itself. While very nice, it would be better if the size was based on the number of monitors defined. I have 16 monitors and the last three are off the bottom of the window and requires scrolling; there is more than enough space if the window was larger for these additional monitors. Every time the page is refreshed, it resizes itself again. It sized itself the same when I had one monitor defined as when I have all 16.
7. Something that would be nice is to have a 'Global Monitor Setup' tab in the options that would override the settings for all of the defined monitors. I've had to go in and change a setting for each of the 16 monitors more than once when configuring ZoneMinder.
8. Instead of cycling only one monitor, why not have this number be configurable? For example, display monitors 1 and 2 and when it cycles, display 3 and 4. Why not 3 or 4 at a time? Or even have it step through the monitors - display 1 and 2, cycle to display 2 and 3, etc.
9. I haven't researched this too much yet, but in the README it's listed to use filters to automatically purge events when the drive starts filling up. It doesn't look like there's too much documentation on how to set this up, so I'm going to search the forums and play with it, but it would be really nice to have an option to say 'Keep events for this many days/hours/minutes' and be done with it. Another option (exclusive to the first) would be to set a maximum amount of space (or %age of space) to use and when it gets to that point, delete the old events as new are recorded. I would think that this could be some sort of automated filter builder, which does nothing but create the compound filter and apply it.
10. Allow events older than n days to automatically be built into an MPEG and stored, then the original events deleted. This would save drive space in situations like mine, where nothing much happens for long periods of time. There should be a setting to allow the MPEGs to be dumped after a certain period of time.
Several Feature Ideas
It'd be killer to be able to have multiple machines managed from one. In other words, I have 3 machines running zoneminder, one of which is set to be the master of the group. People connect to this machine when they want to do anything. From the web interface, one can change options, monitors, etc on any of the three machines. If logging in to view events, all of the monitors are displayed without the user necessarily knowing or caring which computer a given camera is connected to. All the events and configurations would be stored on the hard drives located in individual machines and all processing would happen locally, but the data would be readily accessible from the master when needed.
This would allow somebody like myself, who is looking at setting up multiple machines because of the large number of cameras required, to have a single place to go in order to manage and view everything. Designing a system such as described above, I would think one would need a second NIC in the master machine and tie in the slaves via that card in order to avoid massive conjestion on the network.
This would be no small feature to build in (unless I'm not thinking of something), but would be totally awesome!
This would allow somebody like myself, who is looking at setting up multiple machines because of the large number of cameras required, to have a single place to go in order to manage and view everything. Designing a system such as described above, I would think one would need a second NIC in the master machine and tie in the slaves via that card in order to avoid massive conjestion on the network.
This would be no small feature to build in (unless I'm not thinking of something), but would be totally awesome!
OK, I think I just thought of something related to my last post to make it much more manageable.
Set up each machine locally and get it running, only without a web server. Then use NFS to share the partition the config and events are stored in. Using it this way, there wouldn't be that much to add to ZM itself. As I see it, you'd need:
A configuration option to enable such a mess, along with a method of telling ZM what mount-point to look in for each slave.
A combo box to discern which directory to change things on when updating the configuration.
Some method of integrating all the monitors defined on each of the slave PCs into the list of monitors displayed on login. (Duplicate names would need to be avoided.)
Set up each machine locally and get it running, only without a web server. Then use NFS to share the partition the config and events are stored in. Using it this way, there wouldn't be that much to add to ZM itself. As I see it, you'd need:
A configuration option to enable such a mess, along with a method of telling ZM what mount-point to look in for each slave.
A combo box to discern which directory to change things on when updating the configuration.
Some method of integrating all the monitors defined on each of the slave PCs into the list of monitors displayed on login. (Duplicate names would need to be avoided.)
- zoneminder
- Site Admin
- Posts: 5215
- Joined: Wed Jul 09, 2003 2:07 pm
- Location: Bristol, UK
- Contact: