ZoneMinder Client Desktop Application for Mac and PC
Posted: Thu May 10, 2012 10:38 pm
As of today, I released a test version of a desktop app for streaming the video feeds similar to the montage view. The app is built on the Adobe Air runtime environment, which is similar to Java. It was a little tricky because mjpeg's are not natively supported by adobe flash. I spent about 3 months of my free time working out the bugs to keep the cpu usage low and prevent any memory leaks. Also, it requires the use of a custom skin. The app and skin are available to download for free at http://dvr-security.net/air/zmc/ .
Features:
-Uses ZoneMinder's built-in login system to authenticate user.
-Streams unlimited number of live video feeds using socket connections (only jpeg is currently supported).
-Take snapshots of what is currently visible on the monitor by pressing the snapshot button, which saves a jpeg locally to your computer.
-Video feeds can be tweaked by changing scale and bandwidth (smaller scale and lower bandwidth reduce CPU usage).
-CPU usage can be reduced by using Frame Skipping, which just tosses out 1 out of x images received.
-CPU usage can be reduced at the expense of more memory being used by un-checking bitmap smoothing and setting smoothing quality to default.
-Select from 1 of 9 montage layouts(more can be added or existing ones changed based on user feedback).
-If space is limited, you can remove the control bars that are at the top and bottom of each video feed.
Experimental Features:
- Change the background frame rate to a low value and the app will use very little resources while it is minimized or if another window gains focus. Be careful, if you set the rate too low, then you may have an increase in memory usage as the image buffers will be filling up faster than they are being read and truncated.
-Pressing the Garbage Collection button will free up any unused memory that is current assigned to the app. Open up task manager before you press the button so that you can see if any memory gets released. This may lead to me writing a timer script that will periodically run the garbage collection command if needed.
All feedback is welcome and appreciated. I would love to see some screenshots of a mac user, since I don't have one to test with. And please try to break it!
Here is a screen shot of the login form:
Here is a screen shot of the montage with options panel open:
Tested on PC's: windows vista home premium, windows 7 home premium, windows 7 starter
Tested on ZM server: fedora 16 with zoneminder 1.24.4
Features:
-Uses ZoneMinder's built-in login system to authenticate user.
-Streams unlimited number of live video feeds using socket connections (only jpeg is currently supported).
-Take snapshots of what is currently visible on the monitor by pressing the snapshot button, which saves a jpeg locally to your computer.
-Video feeds can be tweaked by changing scale and bandwidth (smaller scale and lower bandwidth reduce CPU usage).
-CPU usage can be reduced by using Frame Skipping, which just tosses out 1 out of x images received.
-CPU usage can be reduced at the expense of more memory being used by un-checking bitmap smoothing and setting smoothing quality to default.
-Select from 1 of 9 montage layouts(more can be added or existing ones changed based on user feedback).
-If space is limited, you can remove the control bars that are at the top and bottom of each video feed.
Experimental Features:
- Change the background frame rate to a low value and the app will use very little resources while it is minimized or if another window gains focus. Be careful, if you set the rate too low, then you may have an increase in memory usage as the image buffers will be filling up faster than they are being read and truncated.
-Pressing the Garbage Collection button will free up any unused memory that is current assigned to the app. Open up task manager before you press the button so that you can see if any memory gets released. This may lead to me writing a timer script that will periodically run the garbage collection command if needed.
All feedback is welcome and appreciated. I would love to see some screenshots of a mac user, since I don't have one to test with. And please try to break it!
Here is a screen shot of the login form:
Here is a screen shot of the montage with options panel open:
Tested on PC's: windows vista home premium, windows 7 home premium, windows 7 starter
Tested on ZM server: fedora 16 with zoneminder 1.24.4