SS4 to SS4 - High CPU Load
  • I have SS4 running on a 2013 6 core Mac Pro with 7 IP cameras. CPU load is normally around 15%, but if I run SS4 on my MBP to connect to SS4 on the Pro, CPU load spikes to 100%. I have to set the MBP SS4 to H.264 RTSP-over-HTTP.

    If, however, I use a web browser to view the live images, at half or quarter size, the CPU goes to 22-35%. Using Remote Patrol on my iPad, CPU sits around 21%.

    Any idea what settings to change on the SS4 on the MBP to not spike the CPU?

    Thanks.
  • Hi,

    If your Mac don't have hardware H.264 compression features, then compressing to H.264 is very processor-intensive. To reduce CPU usage, use the "JPEG HTTP" option (as set in the SecuritySpy that is receiving the stream). This is higher bandwidth, but use far less CPU resources to produce. And if the two Macs are on the same local network, then the higher bandwidth is Not a problem..

    How this helps.
  • Ben,

    When I select JPEG HTTP in the camera setup, I get a "Communications Error" in the camera window. In looking at the Hikvision camera's Video Encoding option/s, only H.264 is available/selectable.

    So I think this means I cannot use the less CPU intensive JPEG HTTP setting in SS?
  • I think he means to select JPEG HTTP in the compression settings for how SS compresses video. It's in the compression tab of the SS preferences. SS has to decode and recompress video when it serves the video out. The preference dialog has unfortunately had its language simplified to where it no longer indicates these settings are also used for the server activity.

    I think you are instead trying to change the camera encoding, not SS's
  • The Hikvision will always stream H.264 to SecuritySpy.

    When SecuritySpy sends the video stream via its we server, it has to re-encode the stream to make a new stream. This is because the video size and frame rate may be different to the source. I it this encoding that uses a lot of CPU time.

    What I meant for you to do is this: on your MacBook Pro (the computer that is receiving and displaying the stream from your Mac Pro), go to Preferences -> Cameras and click on the camera in question. Select JPEG HTTP as the format there. This will then cause the MBP to request the JPEG stream from your SecuritySpy server.
  • Thanks Ben for the tip; I changed the receiving Mac to JPEG HTTP and the load definitely went down. The sending Mac Pro is a 2013 Mac Pro and the receiving Mac is a 2012 MacBook Pro. I'd hope that the sending Mac Pro has H.264 hardware compression.
  • Good to hear that.

    Apple is very cagy about which Macs have hardware-accelerated H.264 capabilities, but I do know that the Mac Pros do not have this feature. Recent iMacs, Mac minis and MacBooks should all have this, but Apple does not make public which exact models have which exact features.
  • Not sure if this is the same issue – but I have two Axis cameras (M3026) and when I choose "JPEG HTTP" I get a "authentication error, username and password"... it's the same populated password from H.264 RTSP.

    Exact error message:
    06/27/2016 14:09:22: Error communicating with the network device "Street". 4.0.1,70985,401 Failed to obtain video frame from network device. Authentication error - check the username and password.

    I'd like to test JPEG, as disk space is not an issue, and I'm troubleshooting performance issues with dropped frame rates, but currently my camera cannot connect with JPEG. The Axis cameras definitely support Motion JPG — for example, when I go to the camera's control panel and 'live stream' Motion JPG, it's crystal clear 20/fps, but I never seem to achieve this SS.

    Second question:
    Is SS not intended to have multiple 'network cameras' that are pointing to the same IP address? I've found that anytime I do this, it causes bugs in the motion detection and continuous capture. Ideally, I'd like to have a multiple 'network cameras' pointing to the same IP address; they would be for separate purposes.

    For example, one camera would be a 24/7 continuous high definition capture with a max frame rate. Then, another camera pointing to the same IP address but with different settings, e.g., only motion capture with a specific mask, uploaded to the web server at lower resolution and lower frame rate, then a third with the same camera but with a different mask. (There is a lot going on in the scene). Using the HD feed for motion as well for the web capture create huge web server clips, and creates dropped frames in the continuous capture feed (this is problematic, because exactly at the time of the motion, the 'larger HD feed' is now choppy and missing crucial data).

    I've found that multiple network cameras pointing to the same local IP address (not bonjour, but local IP), bugs occur (continuous capture doesn't work properly, motion will create 10-20 minute clips, etc).

    I understand that it's possible that I'm trying to do something that SS was not designed for.
  • My macmini 2012 was 55% load CPU with H264 encoding.
    Now, with JPEG encoding, it's about 30%.
    What is the difference beetween H264 and JPEG encoding? WHen I can see the difference?
  • @jvss000 - all Axis cameras support JPEG streams, and these should definitely work in SecuritySpy. Are you using the "root" login details for the camera in SecuritySpy?

    It should be perfectly fine to create two camera instances in SecuritySpy with the same IP address and different settings (though this will use up two cameras "slots" of your SecuritySpy license). If you are having problems with this, please email us the Log.txt file that you'll find in the SecuritySpy folder within your Documents folder.

    @drs - H.264 is a much more complex format that produces much lower data rates than JPEG. JPEG is simple and quick, but results in high data rates. If the JPEG stream is being transmitted over a local network then there's no problem with using it; if however you are recording video to disk in JPEG format, your file sizes are going to be quite large.
  • Tried root, still doesn't work. With regards to the multiple cameras with the same IP, I'm getting a lot of bugs. (Continuous now is not recording reliably, it appears to be affected by motion clips being processed, thereby stopping them feed). Motion clip folder has many files that are between 30 and 50 minutes in completely dead scenes (no bugs, no wind, nothing). The next step is to might be to factory reset the cameras and reinstal the OS.
  • I Have been testing over the weekend and have found I'm not dropping frames anymore Good News! Like the new Camera Info window. It show my cameras running each at 5% to 9% CPU load at idle and 9% to 20% at busy motion activation.
    Im going to wait a few weeks before i upgrade to 4. Really like that SS can installed side by side. It makes the transition less painful.
    My Configuration:
    *Mac Mini (Late 2014), 2.6 Ghz, 8Gb Ram, 1Tb Drive
    *OS X 10.11.5
    *Capture Drive- Buffalo 4Tb USB 3 Drive Station
    *4 Cameras-All Cams: Motion Activated, H.264, No audio
    Hikvision DS-CD2032F-I, 4mm, 1920-1080P, 15Fps
    Hikvision DS-CD2032F-I, 6mm, 1920-1080p, 15Fps
    Hikvision DS-CD2142FWD-IS, 2.8.mm, 1920-1080P, 16Fps
    Hikvision DS-2CD2342WD-I, 2.8mm, 1920-1080P, 16Fps
    *SecuritySpy 3.4.10, 4 Camera License
    *SecuritySpy 4.0.1 Demo Mode
    *Spyglass 2.0.2, DDNS
  • I tested for a few days jpeg encoding...
    Bad idea!
    The cpu is about 25% instead of 50% with h264, but it's the only good news!
    Video files are about 10go/hour, instead of 1go, there is some errors.
    Then, i return to h264 encoding and optimize my configuration. Then files are about 1go/h, and the cpu is 40%. I think this is the best configuration, jpeg encoding using so much space on disk

Howdy, Stranger!

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