Ffserver GOP Size

Hello, anyone use ffserver or ffmpeg?

I just started streaming from our ip cameras with it. It takes the rtsp url from the camera and broadcasts it.

There is a setting in the conf file called GOP size. I think thats the same as "keyframe". I have no idea how to calculate what that should be...

I have searched online and not found much that helps.


I don't use FFserver but GOP size is often called the I frame interval.

Basically, the longer between I frames the lower bandwidth may be but the more likely you have some form of quality loss / degradation. I or key frames are relatively big. The frames in between (p or b) are relatively small.

What's the default? Something like 15 should be fine presuming you are streaming at 15fps or higher.

Kenny are you doing transcoding with ffmpeg or just streamcopy?

streamcopy, if you don't already know, doesn't do any decoding or re-encoding(h.264 in this case).

It is definitely the way to go if you don't need to change resolution, framerate or some decoded parameter of the video. For instance, if you are only looking to get the streams off of RTSP and into many HTTP streams, it is far less resource intensive than transcoding.

GOP length can only be modified by re-encoding, which means no stream copying.

If you do need to transcode, you may want to find out the GOP length that the camera is using before deciding on the ffmpeg GOP setting(s).

I do use them GOP = "group of pictures"

https://en.wikipedia.org/wiki/Group_of_pictures

normally if you are just live streaming it shouldnt make a to much of a difference.

good choice using ffmpeg over avconv though.

Eddie are you transcoding your streams from one resolution/framerate/q to another?

I use the stream copy function and let the camera set the defaults. when you use the stream copy function you end up using very little of the processor power and it will take raw ( in my case H264) stream and just mount it to the FFserver. then I use VLC mozilla firefox plugin to do all the grunt work on the PC I am viewing the stream on as to not bog down the media server (ffserver).

the record on my dell poweredge 2950 is 200 cameras mounted raw.

Cool! So in your case it sounds like you are not modifying the original GOP from the camera before restreaming.

Are you saying though that ultimately on the PC you are transcoding?

yes this is how most NVR's work today. they mount a raw stream and let your PC do the decoding. the problem is most NVR manufacturers (software side only) write custom activeX plugins for decoding so to get around that I use the VLC HTML/forefox plugin. I have a script/HTML page and refence the steam from the web server ( or straight from the camera) and tell HTML to run the stream though the VLC plugin. works good free video wall I usually keep no more than 16 cameras on a single page due to monitor size.

just a simple trick to cheat active X i supose......