H.264 Alarm Recording

Hi John, We are security consultants based in the Gulf region, and have just installed a VMS on one of our projects. For the moment I would prefer not to name them as it is quite a delicate subject as the VMS has been specified on other projects and there could be issues. What we were looking to achieve on the project was that certain cameras would record at low frame rates such as 1fps or 5fps and then on an alarm activation or certain designated access control events, recording would increase to 25fps for a set period of time. We have had a number of discussions about this requireent with both the integrator and the manufacturer. From what they are saying for H.264 recording it is either 1fps or 25fps. I have never come across this before and I am wondering whether it is a limitation in the VMS rather than H.264. I have copied an extract from an e-mail from the manufacturer below and I wondering what your thoughts on it are. Many thanks John Manufacturer: You are also correct in assuming that you can set your perimeter cameras to recording 1fps and go to 25fps on alarm. But, you are not correct in assuming you can go from 5fps to 25fps. As I have mentioned on our previous email, the h.264 technology does not allow you to go from 5fps to 25fps. This is not an efficient use of the recording algorithm as there are no "B" frames. You can record either 1fps and go to 25fps, or record at 25fps constantly using the equipment and firmware that you are using. Because the h.264 algorithm is much better than MPEG at saving recording space, you can get comparable recording periods by using full 25fps recording instead of dropping to 5fps. Also because you can change the bitrate on all individual cameras, you can tweak each cameras recording quality to allow you to fit exactly onto the storage you have , for the retention period you require.


for sure this is a possibilty any VMS should be able to do.

But the issue is to select an good ip-camera as well.

Because if VMS is receiving stream in VBR with 5 FPS to save bandwith, and than at time of event it should change to 25FPS with higher bandwidth, the camera must be able to restart it encoder very fast.

I do IP-Camera integration now for 5 years, and there are some Cameras which will switch from one frame to the next, and other which will need about 5 seconds to stop sending low framerate stream and start sendnig high framerate stream.

So this is more a question about the IP-Camera then of the VMS. For sure the VMS must be able to do so, too.


Without touching camera settings recording frame rate boosting in real time H264 can be changed from I/Keyframe Interval to Full/whateverset Frame rate.

Take below case for I/Key frame interval is 1 per second with total fps of 25.


Per 25 frames you will receive one I-frame and remaining p/pb frames. if p/b-frames are recorded then we cannot miss intemediate I-Frames because that will result in distorted recordings.

H264 recording frame rate cannot be changed to a user defined frame rate unless camera has the capability to dynamically change Keyframe Interval without reinitiating the stream or VMS taking new sub/secondary stream of the camera. This may result in recording break although very minor.

Also understand most cameras provide I/Key frame interval setting change , but not all. We have seen many cameras ( I can name them) where we cannot change/set I/Key frame interval.

So if you cannot change I/Key frame interval in the camera, then your VMS provider is right in saying it can record only 1fps(default and uneditable) or full frame rate(25 fps or whatever set).

And even if you can change this setting it can only go from I/Key frame rate to Full/whateverset frame rate

I think they were saying you can't do it and leaving off the end of the sentance ,"... because our system can't do it."

I run into any mfg's that don't have some kind of GOP setting. While most are exposed in the web UI and mostly clear (GOP vs GOV) we've run into a couple where it's a bit different:

1) Vivotek - GOP controlled by web UI but definable in seconds vs number of images

2) Arecont - not available to program in the web UI but available to specify programatically in the HTTP calls from VMS