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.)
- 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
- Set the keyframe interval to 2 seconds at the source encoder
- Check for network congestion
- Disable all background programs
- Be sure your bandwidth is 2.5 times the total bitrate