My first post here: I'm trying to figure out the best settings for my setup, to achieve high res video storage and low machine load.
Zoneminder system: Intel Core i5-10400, 16GB DDR4 memory, Samsung 860EVO 1TB SSD, running Debian 'stable' with ZoneMinder 1.34.23.
Camera used: Axis M3116-LVE
Motion detection done by the camera itself, so ZoneMinder doesn't need to analyze the images. All I want, basically, is:
- Console view should provide a direct camera view
- On a TCP start trigger from the camera, ZoneMinder should save the camera stream to disk until a TCP stop trigger
- Event viewer should give fast access to the captured video
- CPU load of the system should be low, because I like a low-power system
- General tab, Source Type: Ffmpeg. I'm in doubt between this and 'remote'; I could get both to work but documentation states "This is the recommended source type for most modern ip cameras." as well as "If you camera does speak RTSP then you should change your source type to ffmpeg instead of selecting RTSP here. The Remote -> RTSP method is no longer being maintained and may go away at some point in the future.". However, if my memory is correct I had the lowest server load using 'remote'.
- General tab, Function: Nodect - because I use external triggers.
- Source tab, source path: rtsp://UserName:Password@<localIP>:554/axis-media/media.amp . This path works well, also in e.g. VLC.
- Method: UDP. Works, but what is best here?
- 32 bit target colorspace, 2688x1512 resolution (camera resolution), no deinterlacing, no preserve aspect ratio, normal orientation
- storage tab: Save JPEGs is disabled (I want video to be recorded)
- storage tab: Video writer: H264 Camera Passthrough. So that server doesn't have to do anything but dump to disk.
But, the result is not what I want:
- Live view in ZoneMinder works, but pretty often ZM cannot handle it and gives a white screen for a few seconds. Image is only updated correctly once every few seconds
- Event view - both the thumbnails as full resolution playback shows the captured event, but *lot* of MPEG artifacts.
- CPU load: 'top' shows process "zmc" on top with ~45% CPU usage. Server is doing close to nothing, so "zmc" is the only hard working process. Why? Zoneminder only needs to wait for a trigger, nothing more, I would think?
Apologies for a long post, but my question: did I enable the right settings to achieve what I want? Any obvious mistakes?