Hikvision H264+
  • Has anyone tried using the Hikvision H.264+ with security Spy? If so any issues or notable improvements?
  • Hikvision's H.264+ is basically just H.264 that is optimised for CCTV purposes (i.e. video with a mostly-constant background scene, with infrequent moving objects). It does some extra analysis of the video stream in order to select the optimal frames to use for the encoded I-frames and P-frames in the stream, and a few other things like long-term bandwidth control and noise supression.

    It's basically an optimised encoding strategy, but the actual bitstream that it produces is mean to be regular H.264, so you should find that it works fine with SecuritySpy. The main advantage seems to be a potential reduction in video bitrate.

    Please report back with your experiences if you are able to try this, and/or if you can compare it to the regular H.264 encoding option.
  • Yes, that is what I thought after looking at the Hikvision write up. I'm moving from a WiFi setup over to hard cables and just testing with my first POE camera.

    I turned on the H.264+ and my CPU usage went down from ~21% (following a motion event) to about ~15% with H.264+ enabled. I also noticed that my memory pressure went from yellow to green. I did get a problem message from security spy but it seems to have resolved itself and is working now. The picture quality is not degraded at all by the H.264+, I will leave it on and test more :-)

    I took some screen shots - is it possible to post them here somehow?

    This was the one time problem message from security spy.

    "Error performing motion capture for the camera "Hikvision 2.8mm", motion capture mode has been disarmed.
 (Failed to record video frame 5575,818 The key frame interval from the network device is too high, locate and
change this setting in the device (may be called l-frame interval / l-frame rate / GOV length / Intra frame
period))"

    Motion came back (re-enabled) after a min. and no other messages or problems have been noted so far!
  • So update - I keep getting that same message from security spy (got about 6 or 7 today). When it comes up it temporarily disables motion but then motion comes back on.

    Is this something that can be changed on the Security Spy side or should I mess with the camera setting or turn off 264+?

    It would be great to get this working - I noticed when running (with no changes on the camera picture) the data rate drops from ~130kbs down to under ~3kbs (with my test setting). It of course jumps up when motion is detected but the 264+ setting really extends the ability of the video capture setup. That would really add up with many cameras and or higher frame rates!!!!
  • H.264 streams consist of infrequent I-frames, which encode the whole image independently, interspaced with multiple P-frames, which encode just the difference in the image since the last frame. The more P-frames between I-frames (the "I-frame interval") the lower the bandwidth, but the more difficult it is for the receiver to deal with the stream.

    There are several disadvantages in a high I-frame interval, I could go into them if you want me to, but because of this, SecuritySpy imposes an upper limit of 160. In reality this is unusually high, and you will want an I-frame interval much lower than this - normally 2-3x the frame rate.

    Unless there is a specific control in the camera to adjust this I-frame interval, I think you will need to turn off H.264+ and revert to standard H.264.
  • The camera does allow adjusting the I frame interval but only when H.264+ is not enabled :-(

    BTW, thanks for explaining. I have reverted back to normal H.264 encoding.

    Is it OK to ask for a feature here or should I post it in a different spot. Assuming OK and possible, It would be fantastic if Security Spy would allow me to set up the capture such that it would be 2-3 frames a second continuous but if the camera detected motion Security Spy would change the recording interval to some max preset value (like 15 fps). That feature would save a lot to HDD space and still allow me to have a full record of what is happening 24/7.

    Thanks again!
  • It is already possible to do what you are suggesting, however the downside is that in order to change the frame rate of the H.264 stream, SecuritySpy has to decode and re-encode the stream (as opposed to using the raw video data provided by the camera and saving this directly to disk). This re-encoding process can use significant CPU time, and degrades image quality (but you can mitigate this by selecting a high encoding quality in the camera).

    To achieve this, enable the "Recompress video data" option under Preferences -> Cameras -> Device for the camera in question. Then you can specify whatever capture frame rates you want under the "Continuous Capture" and "Motion Capture" tabs.

    An alternative would be to set up an additional camera instance in SecuritySpy using the camera's substream, which you can set up to be a lower frame rate (and/or quality, resolution etc.) and use this second instance for continuous capture. The downside of this is that it counts as two cameras for licensing purposes, so I'm not sure if you currently have space for this within your current SecuritySpy license.
  • Thanks - I understand :-)

    I will test it in various configurations and figure out what is the best option to achieve the results I want. I appreciate the information.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!