Skip to content

Dahua 3MP camera: h.264 from camera vs MJPEG

edited January 2015 in SecuritySpy
This is the first camera I have used where I have to use h.264 "Encode Mode" in the camera. I assume it is sending a data stream to SS in h.264. If so, wouldn't this be easy on SS since the encoding is done in h.264 already? I am trying to optimize my system to get the lowest CPU usage possible. I am used to dealing with MJPEG streams that require very low CPU usage and I am trying to understand how SS processes a data stream already encoded in h.264.

I am using text overlay in Security Spy and Motion Detection for the camera. Disabling them doesn't significantly reduce the CPU usage. I have limited the camera to 15 fps. The bit rate is at 6144 (a bit high maybe).

Is there no advantage to the camera sending the data stream out in h.264? Am I missing something?

Comments

  • Hi - there is a big advantage to having the camera send video to SecuritySpy in H.264 mode: the camera does all the work encoding the video, and you get nice small efficient file sizes for your captured footage.

    The settings you need are as follows:

    - Enable time/date display in the camera (sometimes called OSD for On Screen Display).

    - Give the camera a time server so that it keeps perfect time (e.g. time.apple.com)

    - In SecuritySpy, enable the "No recompression" option for the camera in the Video Device Settings window.

    - In SecuritySpy, make sure that the text overlay, video blanking, and transformation features are not enabled for the camera (if any of these are being used then SecuritySpy has to recompress the video, which uses a lot of CPU time).

    Hope this helps.
  • edited January 2015
    I have the time overlay enabled in the camera.
    I gave it a time server.
    Default and current setting in SS for Dahua is "No Compression".

    Text overlay is not checked. Off.
    What is "Video Blanking"?
    No transformations features are on. Not enabled.

    The computer uses quite a bit more CPU compared to 1080P MJPEG. The 3MP resolution is 2048 x 1536 I have the frame rate set to 15 fps in the camera with a bit rate of 6144.

    Is it just the difference in resolution that is causing me to see increased CPU usage. Most of my experience is with Axis cameras. If I add an Axis 1354-E in MJPEG I hardly see a bump and I use Text Overlay in SS.

  • Hi - it'll largely be the resolution that is causing the increased CPU usage. 2048x1536 has 50% more pixels than 1080P, so you should expect at least a 50% increase in CPU usage at the same frame rate. Plus, decoding H.264 uses a bit more CPU than decoding JPEG.

    Video blanking is a feature that will paint black over parts of the video image (for privacy for any sensitive areas that appear in the camera's view such as neighbouring property/windows etc.) It sounds like you aren't using it.
  • Excellent. Thank you for that information. I see an ~40% increase so I am in the neighborhood. Using SS text overlay doesn't really use that much CPU usage on my h.264 cameras. Maybe ~4% at most from my observations. It is obvious to me using higher resolution cameras will require more computers in larger environments. I guess I have been using cameras less than 1080 for so long this has not been an issue until now.

    I am with you on the blanking. I am using a Mask on the MJPEG camera to ignore motion on one area. I have never had a reason to black out any part of the video and forgot that was an option.

    I really appreciate your feedback.
Sign In or Register to comment.