Skip to content

Now that EGPUs are supported, is there a recommended one?

edited October 2020 in SecuritySpy
First, I have a question. Does Security Spy only recompress recordings, or is video accessed live through other means from a Security Spy RTSP stream also the recompressed video?

Second, is there a recommended EGPU? My 2018 Mac mini 3.2 Ghz 6 Core Intel Core i7 handles the 23 cameras I have running on it surprisingly well right now, but I'm always looking to increase performance as I add new cameras.

I would love to recompress everything into H265 and use the text overlay built in to Security Spy so all of my cameras look the same.

Comments

  • By default, video data saved to captured movie files is not recompressed; it is saved directly from the camera's stream to disk. This ensures optimum performance and quality. To recompress this data (e.g. to allow SecuritySpy to add a text overlay), you must enable the "Recompress video data" option under Preferences > Cameras > Device.

    However, I would strongly recommend against recompression, especially attempting to recompress so many cameras to H.265 - this would use a huge amount of CPU resources and just wouldn't work well, even on the most powerful Mac, even with an eGPU for help.

    We don't have any specific eGPU recommendations beyond apple's document Use an external graphics processor with your Mac, however, we have seen good results with Vega cards.

    Note that, at the moment, SecuritySpy can use an eGPU to assist video decoding, but not encoding. This is because decoding is the primary resource-intensive task that SecuritySpy needs to do. We may add support for eGPU encoding in a future update, depending on adoption of eGPUs by our customers.
  • edited October 2020
    For me it's a matter of what apps support eGPU. I have a Razor Core X with a Radeon 580 that I use with my MacBook Pro (13 inch 2020). It's frustrating to see many apps not take advantage of it (like iMovie still uses integrated GPU, letting the 580 sit idle). I'd be more likely to invest in a second Razor Core unit for my 2018 Mac Mini (dedicated SS machine) if I knew SS would support encoding and decoding.
  • Hi @ckurowic - good point. We'll see if we can add eGPU support for encoding too.
  • That would be great, Ben. Thanks for your consideration.
  • edited October 2020
    Hi Ben, i am confused? you write that the streams from the cameras are written directly to hhd without compression. Does this mean that the "Compression" settings for the stream quality (H264, H265, audio, jpeg) in the Preferences have no effect if i don't enable the compression setting in preferences?

    And it would be great to have full support for the eGPU. I will buy one for my new 2020 mac mini to have better GPU performance.
  • BenBen
    edited October 2020
    The "Video compression for recorded files" setting under Preferences > Compression only applies to cameras that have the "Recompress video data" option turned ON under Preferences > Cameras > Device. If the recompress option is off (which it is by default), video data from the camera is recorded directly to the movie files with no recompression done by SecuritySpy - this is best for performance and quality.

    SecuritySpy still needs to decompress the incoming video streams from the cameras in order to do motion detection, display cameras to the screen, generate web server streams etc. and this is where an eGPU can really boost performance, if the Mac's internal video decompression hardware is struggling to cope.

    Typically, the "recompress video data" option will be turned off for all cameras, and in this case, the main video compression tasks that SecuritySpy has to do would be recording for any non-network camera (e.g. USB/Thunderbolt/FaceTime cameras), and to generate H.264 video streams to send via its web interface for remote viewing.

    The latest beta version of SecuritySpy (currently 5.2.7b1) now adds support for eGPU compression as well as decompression. More information is in this FAQ: Can SecuritySpy use External GPU (eGPU) devices to boost performance?
  • edited October 2020
    Great to know Ben, thanks for your good work and feedback!.

    One more question to the above topic.

    Is it correct that if i choose one of the video formats in the chooser (H264, H265, ProRes) this will be the format of the files recorded uncompressed to the hdd? I did change it from H264 to H265 (in the prefereces, compression) to save space on my hdd and did believe after testing that it had a effect on the written files, smaller sizes, or is this not the case?.......
  • BenBen
    edited October 2020
    That compression format selection will only have an effect for a camera that has the "Recompress video data" option turned on. But I would strongly recommend against doing this, as it reduces quality and uses significant CPU, especially to encode to H.265 format. It's much better to leave the "Recompress video data" setting off for all cameras: simply stream and save H.265 from any camera that supports it, otherwise stream and save H.264 from other cameras. Storage is cheap, so simply add an external USB-3 or Thunderbolt drive if you need more.

    To further clarify: with the "Recompress video data" turned off, the video is still compressed by the camera, so this compressed video is saved by SecuritySpy to disk, and should already be fairly efficient in terms of storage space. It's just not recompressed by SecuritySpy.
  • edited October 2020
    Okay, thanks, i do have "Recompress video data" option turned off all the time. Will update my old cameras, they dont support H264 or H265.
  • I'm seconding eGPU encoding. I spent about $900 on one for an eGPU setup because I thought some stuttering was due to my Mac mini not being powerful enough. But I set it up and it didn't make a difference. Then I turned off motion detection for that camera, and it fixed the issue. So that was not really a necessary purchase, but it will at least keep me future proof once I start adding more 4K cameras.
  • @emergent - eGPU encoding has now been implemented (currently in the 5.2.7b3 SecuritySpy beta version). And as you say, as you add more 4K cameras, your eGPU will come in handy to take some of the decoding load off your Mac.

    Stuttering issues should also be better in the beta. If it's the motion detection that is causing the stuttering, then it could be the AI that is causing this, as this is the thing that potentially uses a lot of CPU. The best solution here is to limit the use of the AI when you don't need it, and adjust the standard motion detection to be as effective as possible, so that fewer images need to be analysed by the AI (see Achieving Effective Motion Detection).
Sign In or Register to comment.