Issues with Keyframe Interval

Q. Why is my keyframe inconsistent and affecting playback?

A. A keyframe interval was not properly set to a fixed number, resulting in unhealthy fluctuations.

For live streams, keyframe intervals should be two seconds. So, if your frame rate is 30 fps, the keyframe interval would be every 60 frames. Note that too frequent keyframes can result in stuttered playback, so a two-second keyframe interval is optimal. It’s also worth noting that for HTTP Live Streaming (HLS) playback, video chunks must start on a keyframe.

Here is an example in the Wowza Video dashboard where the keyframe interval was not properly set to a fixed number, resulting in unhealthy fluctuations.

(Keep in mind that adaptive bitrate streaming requires a set keyframe interval as a seek point for the player.) 

Possible Causes:

  • The keyframe interval isn’t set properly in the encoder
  • You are not using an even-numbered keyframe
  • The keyframe interval is set above 4 seconds
  • The encoder doesn’t have the bandwidth needed to deliver data to the media server

Troubleshooting tips:

  1. Set the keyframe interval to 2 seconds at the source encoder
  2. Check for network congestion
  3. Disable all background programs
  4. Be sure your bandwidth is 2.5 times the total bitrate


Resources

View Stream Health Metrics in Wowza Video

Encoding Best Practices in Wowza Video

Using Health Metrics to Troubleshoot Live Stream Issues