FPS - in reality...

What FPS do you run?


  • Total voters
    33

joshwah

Pulling my weight
Joined
Apr 25, 2019
Messages
298
Reaction score
146
Location
australia
Hey all,

I understand the general recommendation has been 15FPS is good for CCTV... My thought was the higher FPS the better, as you'll end up with more potential frames to get an ID of a person... is that a fair assumption?

What do YOU run your FPS as and why?
 

wittaj

IPCT Contributor
Joined
Apr 28, 2019
Messages
25,389
Reaction score
49,464
Location
USA
Shutter speed is much more important than FPS.

I capture plates at 8FPS and the plate is in and out of the field of view in about a half second.

I have been all over the place. When I first started I was in the 30FPS camp. Burned thru the storage pretty quickly. And some of my cameras even with higher shutter speed, they were still blurry, but lowering the FPS and the freeze frames became clear.

But then you realize that movies are shot for the big screen at 24FPS, so anything more than that is waste for mobile devices and our monitors LOL.

Then as I played with these more, I realized that although they are spec'd and capable of these various parameters, real world testing by many of us shows if you try to run these units at higher FPS and higher bitrates than needed that you may max out the CPU in the unit and then it bugs out just long enough that you miss something or video is choppy or pixelated or you get lost signals. My car is rated for 6,000RPM redline, but I am not gonna run it in 3rd gear on the highway at 6,000RPM...same with these types of units - gotta keep them under rated capacity. Some cameras may do better than others, but trying to use the rated "spec" of every option available is usually not going to work well, either with a car or a camera or NVR. Just like our cars don't get the estimated MPG in every day, every season of the year.

Look at all the threads where people came here with a jitter in the video or video dropping signal or IVS missing motion or the SD card doesn't overwrite and they were running 30FPS and when people tell them to drop the FPS and they dropped the FPS to 15FPS the camera became stable and they could actual freeze frame the image to get a clean capture. The goal of these cameras are to capture a perp, not capture smooth motion. When we see the news, are they showing the video or a freeze frame screen shot? Nobody cares if it isn't butter smooth...getting the features to make an ID is the important factor. As always, YMMV...

Further, these types of cameras are not GoPro or Hollywood type cameras that offer slow-mo capabilities and other features. They "offer" 30FPS and 60FPS to appease the general public that thinks that is what they need, but you will not find many of us here running more than 15 FPS; and movies are shot at 24 FPS, so anything above that is a waste of storage space for what these cameras are used for. If 24 FPS works for the big screen, I think 15 FPS is more than enough for phones and tablets and most monitors LOL. Many of my cameras are running at 12FPS.

In fact, many times if a CPU is maxing out, if it doesn't drop signal, then it will alter something else like adhere to the FPS but then slow the shutter down to try to not max the CPU, which then produces a smooth blurry image...that is the video my neighbor gets who insists on running 60FPS. He gets smooth walking people but you can't freeze frame it cause every frame is a blur, meanwhile my 12FPS gets the clean freeze frame. Shutter speed is more important the FPS. BTW we both have the same camera and we both run the same shutter speed, but his camera CPU is maxing out and something gotta give when you push it that hard.

I'm not saying my analogy of a car redline or MPG is a perfect analogy, but rather I am pointing out a fact that stuff we buy is always marketed as more capable than it is, especially if you are using all of the features. Does your car get its stated MPG in every situation - NO...

Can a little 4 cylinder base model Ford go up an interstate incline of 4% with the air conditioning at full blast at the speed limit - NO. I remember growing up we would have to turn off the AC going up big hills LOL. We called it turbo boost LOL.

1695379939282.png



Do we really believe every marketing claim of every product you see on Amazon?

Just like a computer - it is rated for this and that, but if you are running the CPU at 100%, something is going to give. Same with these little cameras with a lot less computing power.

So a few of my cams have a system status screen, and they call it a CPU, so that is why I am calling it a CPU, but this shows this camera running at 8192 bitrate, H264, CBR, and 12 FPS is hitting the camera processor at 47% and jumps to 70% with motion. If I up the camera to 30 FPS, the usage is in the high 90% range, but then with motion, it maxes out and would get unstable.

Or if I keep it at 12 FPS and use the camera motion detection, the CPU in the camera goes to 60% idle.

This would be nice if all cams had this so we could see how our settings impact the performance of the camera. I think running these cams close to capacity is probably harder to overcome than a computer spike at 100% CPU.

At the end of the day, if the consumer wants cameras that can do 30FPS, they will not look at any cameras that do not have that rated spec, so some companies will throw that in to appease the person looking for that. Unfortunately, that is marketing. It takes someone with experience in the industry to know for sure if it is really capable of what marketing says.

And in a few scenarios maybe you can squeak 30FPS out of these cameras - maybe without using IVS or motion detection and just watching a simple feed. But maybe when two users log in, it can't handle it for example. The more features you use, the less likely it will work as one expects.

And if the complaints get bad enough, we have seen firmware updates to popular models that do just that - cut FPS or some other feature...


1641066055238.png
 

bigredfish

Known around here
Joined
Sep 5, 2016
Messages
17,774
Reaction score
49,442
Location
Floriduh
Agree shutter speed is more important, but the two arent either/or.

I run NVRs as you know and I run 99% of my cameras at 30FPS and high bitrates with no issues. So why not?

Most of the issues I see with jittery video are indeed hardware or connection/network issues. I get that. But with a normal home setup I just dont see it.
Remote? sure, then trying to stream huge video streams over the public Interwebs causes jitter issues
 

wittaj

IPCT Contributor
Joined
Apr 28, 2019
Messages
25,389
Reaction score
49,464
Location
USA
Agree shutter speed is more important, but the two arent either/or.

I run NVRs as you know and I run 99% of my cameras at 30FPS and high bitrates with no issues. So why not?

Most of the issues I see with jittery video are indeed hardware or connection/network issues. I get that. But with a normal home setup I just dont see it.
Remote? sure, then trying to stream huge video streams over the public Interwebs causes jitter issues
Granted most of the issues of running higher FPS is with BI, but we do see it with NVRs when people start approaching the bandwidth capacity of the NVR. Heck @Parley has enough higher MP cams that he needs more than one NVR!

But here is another way to look at it. What about a camera that maxes out bitrate at 8,192 KB/s:

30FPS at 8,192 KB/s bitrate is 273KB per frame

15FPS at 8,192 KB/s bitrate is 546 KB per frame - or double the KB!

So depending on the max bitrate available in the camera, one may get higher bits per frame with a lower FPS and that could equate to better picture quality per frame!
 

Mike A.

Known around here
Joined
May 6, 2017
Messages
3,844
Reaction score
6,424
Does it work like that? Is the stream data leveled over time or is it the same data/rate, whatever that may be, and it's just sampled more or less frequently over N samples/s @ whatever FPS? If the former, then there would be more data/frame. If the latter, then it would be the same data/quality level, you're just sampling it more/less often. If that makes sense...
 
Last edited:

wittaj

IPCT Contributor
Joined
Apr 28, 2019
Messages
25,389
Reaction score
49,464
Location
USA
Does it work like that? Is the stream data leveled over time or is it the same data/rate, whatever that may be, and it's just sampled more or less frequently over N samples/s @ whatever FPS? If the former, then there would be more data/frame. If the latter, then it would be the same data/quality level, you're just sampling it more/less often. If that makes sense...
No idea LOL, but it does show in terms of KB/s not KB per frame, so in theory more frames per second would mean less data per frame.

I am sure my simplistic math is a significant under representation, but I think the rational would still be somewhat valid.
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,690
Reaction score
14,061
Location
USA
Before Blue Iris supported sub streams, I was 6 or 10 or 15 FPS on everything except PTZ cameras where it is nice having a higher frame rate to improve responsiveness. The CPU cost of high frame rates was just too high.

But since sub streams became properly supported, I have bumped up many of my cameras to 30 FPS, or whatever the cam is capable of (sometimes that is only 20 or 25). Simply because the smoother video is nicer to watch. I am fully aware that each frame is consequentially lower quality unless the bit rate is increased. For the cams that are most important for identification, I run them at a lower frame rate so that each frame gets a larger slice of the total bit rate.

So now my frame rates are all over the board:
15, 15, 30, 30, 20, 30, 10, 20, 15, 6, 15, 30, 15, 20, 30, 30, 15, 30, 25, 30, 25, 10, 10, 30.
 

Mike A.

Known around here
Joined
May 6, 2017
Messages
3,844
Reaction score
6,424
I'm not sure either. :idk:

Even at KB/s the same applies. Think about, as an analogy, a light bulb and switch. The lumen output (data rate) of the bulb is the same no matter how slow/fast you flick the switch on/off. If you strobe it fast, you get a more constant, continuous view of any movement vs a more static/staggered view if slower. But the amount of light and the quality of your view of whatever (the amount of data) is the same at any given moment. Or maybe a better, more similar example, an old film camera with motordrive or burst shooting with digital. Each image captured will be the same at whatever level of quality of the camera/light/subject/overall system. You're just getting more or less samples over whatever period of time.

If the data rate fell below the sampling frequency, then that would affect things but never the case in question here.
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,690
Reaction score
14,061
Location
USA
If a camera is encoding "CBR" (constant bit rate) then increasing the frame rate does not directly affect the average bit rate. Instead it reduces the quality of each frame on average.

If a camera is encoding "VBR" (variable bit rate), and it has a sufficiently high bit rate limit that the limit is never reached, then it is a different story. Increasing the frame rate should cause an increase in the average bit rate without affecting image quality by a noticeable amount. It is not particularly straightforward to predict how much higher the bit rate will become because there are many factors involved. Generally the higher the frame rate, the less each frame will cost to encode (on average) because at higher frame rates you typically have a more favorable ratio of ratio of i-frames to other frame types, and there will be less visible change between frames so less data is required to encode it.
 

Mike A.

Known around here
Joined
May 6, 2017
Messages
3,844
Reaction score
6,424
If a camera is encoding "CBR" (constant bit rate) then increasing the frame rate does not directly affect the average bit rate. Instead it reduces the quality of each frame on average...
Yes, should have said above that we're assuming a constant data rate. Understand how a variable data rate could make things work differently.

I don't completely understand the last part re reducing the quality of each frame if the data rate is constant. Why is that? You're not really dividing up the data like that are you? It's a stream at whatever rate. In the math you can obviously but I mean practically. Taken to the extreme, at 1 FPS the quality of each frame would be much greater than at 15?
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,690
Reaction score
14,061
Location
USA
You're not really dividing up the data like that are you?
Yeah it is for the most part.

Consider a convenient simple case:
  • CBR encoding at 1000 Kbps
  • 10 FPS
  • i-frame interval: 10 frames

The encoder will try to use 1000 kilobits (1 million bits) for every 1 second of video.

So first is the i-frame. Maybe that is 200 kilobits, or 20% of the total. That leaves 800 kilobits for the remaining 9 frames. 800 / 9 = 89. Each of the remaining 9 frames gets about 89 kilobits

Now assume you increase the frame rate to 30 FPS and i-frame interval to 30 frames. The i-frame should require less data now if the encoder is tuned well internally (because it will be trying to reserve more data for the rest of the frames). Lets assume the i-frame takes 100 kilobits. Now there is 900 kilobits available, and 29 more frames to encode during the first second of streaming. So each frame will get on average only 31 kilobits to encode itself.

Considering an adjustment in the other direction, what if you did a 1 FPS stream, i-frame interval 1, still at 1000 Kbps? In that case, the encoder should produce only keyframes and each keyframe should be about 1000 kilobits in size.

Taken to the extreme, at 1 FPS the quality would be much greater than at 15?
Yup. Because at 1 FPS the encoder can use a full second's worth of data to encode just one frame. At 15 FPS the average frame size will be 1/15th the size.
 

wittaj

IPCT Contributor
Joined
Apr 28, 2019
Messages
25,389
Reaction score
49,464
Location
USA
How many dropping their FPS to 1FPS now :lmao:

But it does sound like doing some simple math, one should look at the max bitrate their cam can do and do some quick dividing to determine the optimal FPS that maximizes the KB data!
 

Mike A.

Known around here
Joined
May 6, 2017
Messages
3,844
Reaction score
6,424
Ahhh,,, got it. Thanks. Wasn't thinking about the encoding aspect of it. It's not a pure data stream at whatever rate as I was thinking of it.
 

bigredfish

Known around here
Joined
Sep 5, 2016
Messages
17,774
Reaction score
49,442
Location
Floriduh
So I guess I need to do a comparison and a sample frame at say 10 fps vs my normal 30…

I need to distinguish a tweener frame from an I frame though…… hmmmm how to go about that ?
 

bigredfish

Known around here
Joined
Sep 5, 2016
Messages
17,774
Reaction score
49,442
Location
Floriduh
Ok so i just downloaded two clips from a 4K-T

1- 16384 bitrate 30FPS CBR 31 second clip
2- 16384 bitrate 7FPS CBR 30 second clip

Both are almost same total file size
62.343 kb
60,582 kb


I get the following from MediaInfo app


30FPS

General
Complete name : C:\Recordings\Home\Color4K-X-T\testFPS\Home_ch5_20230927181500_20230927181530.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom/iso2/avc1/mp41)
File size : 60.9 MiB
Duration : 30 s 999 ms
Overall bit rate mode : Variable
Overall bit rate : 16.5 Mb/s
Frame rate : 30.000 FPS
Encoded date : 2023-09-27 22:31:46 UTC
Tagged date : 2023-09-27 22:31:46 UTC

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L5.1
Format settings : CABAC / 1 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 1 frame
Format settings, GOP : M=1, N=15
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 30 s 999 ms
Bit rate : 16.5 Mb/s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate mode : Variable
Frame rate : 30.000 FPS
Minimum frame rate : 29.412 FPS
Maximum frame rate : 30.303 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.066
Stream size : 60.8 MiB (100%)
Encoded date : 2023-09-27 22:31:46 UTC
Tagged date : 2023-09-27 22:31:46 UTC
Codec configuration box : avcC




and from the 7FPS

General
Complete name : C:\Recordings\Home\Color4K-X-T\testFPS\Home_ch5_20230927182900_20230927182930.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom/iso2/avc1/mp41)
File size : 59.2 MiB
Duration : 30 s 0 ms
Overall bit rate mode : Variable
Overall bit rate : 16.5 Mb/s
Frame rate : 7.000 FPS
Encoded date : 2023-09-27 22:31:05 UTC
Tagged date : 2023-09-27 22:31:05 UTC

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L5.1
Format settings : CABAC / 1 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 1 frame
Format settings, GOP : M=1, N=4
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 30 s 0 ms
Bit rate : 16.5 Mb/s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate mode : Variable
Frame rate : 7.000 FPS
Minimum frame rate : 6.993 FPS
Maximum frame rate : 7.042 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.285
Stream size : 59.1 MiB (100%)
Encoded date : 2023-09-27 22:31:05 UTC
Tagged date : 2023-09-27 22:31:05 UTC
Codec configuration box : avcC
 

bigredfish

Known around here
Joined
Sep 5, 2016
Messages
17,774
Reaction score
49,442
Location
Floriduh
What I see besides the obvious fps differences are

GOP (group of pictures) different. Roughly 1/2 of fps

And bits per frame? Sure enough .06 vs .28 so roughly 4.5x more data per frame in the 7fps version
 

bigredfish

Known around here
Joined
Sep 5, 2016
Messages
17,774
Reaction score
49,442
Location
Floriduh
But can you see it?

Both files downloaded from exact midway of clip. So shouldn't be the Iframe right?
Both pics downloaded as png which I think gives best quality not compressed.
Both images same exact file size 24,342 KB

7FPS
7FPS-20230927_182915_ch5.png


30FPS
30FPS-20230927_181515_ch5.png
 
Last edited:

Mike A.

Known around here
Joined
May 6, 2017
Messages
3,844
Reaction score
6,424
Position within the clip isn't the right reference point. It would need to be within that series of 7 or 30 frames. Not sure how to do that.

I can't really see the difference at that resolution/quality. If I zoom in on closer areas like the shovel and details around the yellow box, the 7 isn't all that great and the 30 isn't any worse to my eyes.
 
Top