Wowza Community

Fragment duration greater than suggested range of 1-4 seconds WARN

Hello All,

Just after wowza is restarted I see the following errors in the logs. Is there any specific performance effects of this error?

We do live streaming over jwplayer. What would be a suggested “keyframe interval” in FMLE settings?

Thanks in advance.

I get a

WARN	server	comment	2011-11-06	01:26:32 -	14963.916	-	LiveStreamPacketizerSmoothStreaming.handlePacket[live/_definst_/credife]: 
Fragment duration greater than suggested range of 1-4 seconds. 
Adjust keyframe interval accordingly: Fragment durations: [4.9,4.9,4.9]

Set keyframe interval between 1-4 seconds in FMLE.

Try changing -g (gop) to 60 and add -r (FPS) set to 30.

-r 30 -g 60

or

-r 24 -g 48

I.e., -g = -r*2

That should give you a key frame frequency of 2 seconds, which is ideal.

Richard

Reading from the top, that WARN line will go away if you remove “smoothstreamingpacketizer” from the Application.xml /LiveStreamPacketizers.

If you are only using a Flash RTMP player, which is what JW Player is, you can remove all the packetizers and that will save you some overhead

Richard

David,

Closer to a little, but probably measurable.

Richard

A 2 second key frame frequency is gop / fps. For example 60 (gop) / 30 (fps) = 2 second key frame frequency.

b-frames can be a problem. Try with and with b-frames.

Richard

It is just what we have found to work for smoothstreaming in Silverlight players. You will have to see what works for you, and what trade-offs you have to or are willing to make.

Richard

Set keyframe interval between 1-4 seconds in FMLE.

I can ask the streamers to follow that rule. But if they do not do it would there be any consequence to viewers or wowza service health?

Thanks

Richard

You state “… you can remove all the packetizers [that you’re not using] and that will save you some overhead.”

So, if, for example, I never use smoothstreaming for anything I should remove that from all the Application.xml files I have? And that should save me some overhead.

Can you elaborate on exactly what kind of “overhead” this will save me? I’m not looking for hard numbers (as I know that depends on each unique setup) but just a general idea for my general understanding would be greatly appreciated. Is this overhead a “little” or “a lot”? A “little” meaning that I likely will notice no significant difference, and “a lot” meaning that I will be able to get more out of the server if I remove the unused packetizers.

Thanks!

David L Good

That’s good enough for me. Thanks!

Try changing -g (gop) to 60 and add -r (FPS) set to 30.

-r 30 -g 60

or

-r 24 -g 48

I.e., -g = -r*2

That should give you a key frame frequency of 2 seconds, which is ideal.

Richard

Hello.

I have a question about this same error.

Fragment duration greater than suggested range of 1-4 seconds. Adjust keyframe interval accordingly: Fragment durations: [0.5,12.4,0.1]

Our current settings on the encoder is:

GOP Size (frames): 12

B-Frames per GOP: 3

Framerate = 25fps (I believe, the source is DVB-S)

Are you saying my GOP size should be 50? In that case what should the B-frames be?

Thanks.

A 2 second key frame frequency is gop / fps. For example 60 (gop) / 30 (fps) = 2 second key frame frequency.

b-frames can be a problem. Try with and with b-frames.

Richard

Thanks Richard.

Our encoder has the following “tip” regarding encoding from a DVB tuner card…

For NTSC the maximum length of a GOP is 18 frames, for PAL it is 15. Typical value is 15 for NTSC and 12 for PAL. Higher GOP values will give you better compression but some decoders might not be able to read them. For strict mpeg1/2/4 compliance, this would have to be <=132.

So the default is “12” which is what we have it currently set to for PAL. So for 25 FPS are you saying we should have the GOP at 50 to attain the 2 second key frame frequency? My understanding is that having higher GOP will increase compression and lower quality/resiliency isn’t that true?

I have been trying to find some good guidance on this but haven’t had much luck finding tips on how to optimize and the rationale. If you can point me to some resources that would be helpful.

To add:

Apple says: For most media, spacing I-frames about 1/2 second apart gives good results. This equates to a GOP size of 15 frames for NTSC and 12 frames for PAL. The DVD-Video specification prohibits GOP lengths from being much longer than this. Generally, only material with scene changes occurring less than 1/2 second apart frequently throughout the video will benefit from shorter GOP sizes.

http://documentation.apple.com/en/compressor/usermanual/index.html#chapter=18%26section=5%26tasks=true

Would be interested to know how Wowza arrived at the 1-4 second recommendation. It would be great if Wowza had a whitepaper on this actually. Thanks for your help.

Hi

It could be a meta data issue take a look at this article,

https://www.wowza.com/docs/how-to-add-resolution-and-codec-metadata-to-ios-streams

Did you recreate the application(s) that you had in Wowza 2 or did you try to copy the Application.xml('s) over from the old server?

If your in control of the encoder streaming to the application set keyframe interval between 1-4 seconds.

What is the codec information of the inbound stream to Wowza?

Does it work in VLC?

For it to work for Android it must be H.264/AAC

Jason

Hi

I need to know what encoder you’re using to answer that question. :slight_smile:

Jason

Hi

There should be a command option such as “–keyint 30”

I did a quick Google search and found this,

https://sites.google.com/site/linuxencoding/x264-ffmpeg-mapping

Jason

We recently upgrade to WMS3 and planning to order adaptive bitrate as add-on

but after installation i get some error log.

LiveStreamPacketizerSmoothStreaming.handlePacket[live/definst/Stream1]: Fragment duration greater than suggested range of 1-4 seconds. Adjust keyframe interval accordingly: Fragment durations: [0.0,7.4,3.2]

Not only ios, rtsp is not showing the video at all, it turn black after 3 second and get audio only.

After that… disconnect and show warning : “cannot play video”

We didn’t get this error when using WMS 2.

We’re using streamschedule.smil to produce live streaming to rtsp, ios and rtmp at same time.

what should i do to fix these error?

Thanks

Hi Jason,

I create new application(s) from conf folder and copy some property into it.

It’s H264/AAC and it works in VLC but sometimes i get audio only.

How to set keyframe interval between 1-4 seconds?

Oh Sorry,

I use FFMPEG.

320x240, 15fps, vidoe codec: libfaac, libx264 -strict experimental

vprofile : baseline

preset : slow

crf:22 -threads 0 -b 300 -qmin 3 -qmax 5 -bufsize 4096 -g 300

Audio : 96k, 32000

wow…

I will encode more than 600 videos :frowning:

why this not happen to WMS2?

Hi Richard,

Would you check my conf and error log Please?

I might have made a mistake in my application(s).

Thanks