low fps for remote view

Hello, I use a copy of securitySpy or viewcam to remote view my server (8 cams). The server is on a low bandwidth upload (2 Mybes/sec)

The problem is the high bandwidth usage when remote viewing (>1 Mbyte/sec).

  • In security spy you can specify the size (I use 640x360), is it possible to do the same in View cam ?
  • it would be great if we could specify very low bandwidth ( 1fps every 3 sec for example). Is there a why to achieve that ? (0,5 fps in the settings doesn't seem to work).


Comments

  • There is currently no way to specify the image size in ViewCam (we didn't add these controls because most network devices don't support this).

    Instead, to achieve this, use the "URL Generator" function that is available from the Window menu in SecuritySpy. Select RTSP H.264 as the Type, and select a camera. Don't add authentication since you can specify this separate in ViewCam. Set the frame rate to 1 and the video size to 640x360.

    Then, copy the path portion (the last bit) of the generated URL, which will be something like:

    stream?cameraNum=0&width=640&height=360&fps=1

    In ViewCam, set the Profile to Manual Configuration, and paste in the path obtained above.

    You can also modify the path with a lower frame rate, for example fps=0.5 for 1 frame every 2 seconds.

  • jtodd
    edited April 2023

    Hi pgh - this is actually the topic of another thread, sort of:

    https://bensoftware.com/forum/discussion/4089/low-res-stream-triggering-hi-res-actions-resource-saver#latest

    Most cameras have multiple "streams" to which you can connect - so setting one to a low-res, slow stream for triggering, and then using motion detection in that low-bandwidth stream to trigger an action which creates a connection to the high-resolution stream which is defined as a separate camera but using the different stream.

    My specific interest in doing this is a bit different (my constraint isn't bandwidth; it's CPU) so I don't mind keeping both sessions "alive" but only decoding one of them until the low-speed stream creates a trigger event. You, however, want to just keep the low speed stream running and decoding and then attaching to the high-resolution stream when there is action. Some of this method right already work for you now - check out some of the discussion.

    Also note that my specific way/interest in doing this doesn't yet quite work based on my experiments, but maybe you'll have better luck.

    JT

  • pgh
    pgh
    edited April 2023

    Thank you, but it doesn't work for me.

    I have disabled all my cam but one in Viewcam.

    Custom url rtsp and jpeg : /stream?cameraNum=8&fps=0.2&height=360&width=640

    or /image?cameraNum=8&fps=0.2&height=360&width=640

    But I get 3-4 fps in the live window (I can see that is not 1 frame every 5 sec) and bandwidth usage is still 1Mbyte /sec (for just one cam)

    EDIT:

    I think I have found the problem.

    • I notified that the problem only occurs for certain camera. I get 15fps for them even if I specify fps=0.2 in the URL.
    • enabling "generate frame timestamps..." in advanced settings seems to fix the problem.
    • when using jpegs, the fps parameter does not work for me.


  • Hi @pgh you should definitely use the "stream" request rather than the "image" request - the former is an H.264 stream while the latter is still JPEG images, which will have much higher bandwidth.

    I'm surprised that you're getting the wrong frame rate. Are you running the latest version of SecuritySpy on your server? Have you now resolved the problem by turning on the option you mention?

  • pgh
    pgh
    edited April 2023

    Hello again,

    Im using the last beta on that server, but the problem is the same on the last public version.

    The problem is fixed if the "generate frame timestamps.. " is enabled (for eufy pantilt and ezviz cams)

    Now It would be great is the fps indication in the live windows showed decimal values rather than 0fps if the fps is <0)

    Thanks for your help !

  • Hi @pgh good idea - in the next update we'll improve the fps feedback to show a decimal point for small values.