If you’re new to adaptive bitrate streaming (ABR), a common mistake we come across in support tickets is keyframe alignment. A SMIL file has all the different versions of your stream, BUT in order for the player to make a switch to a different version, you must have the following in place:
Before creating your SMIL file, you need to already have multiple bitrate renditions with aligned keyframes for players to correctly switch between them. Keyframe alignment is done at encoding time by setting the keyframe interval and frame rate values to be the same for each encoded file or stream rendition.
If you’re not sure why keyframes are important:
A key frame interval, also called an i-frame interval, is an encoding setting that determines how often the whole picture is transmitted. When a stream is encoded, only some frames show the complete picture. The initial (key) frame includes a complete image, while subsequent (delta) frames only depict changes from that image.
This helps reduce redundant data and lower the bandwidth. If your video stream depicts static scenes such as a news desk or talk show, then a keyframe interval of two seconds would suffice. But action-packed streams of sporting events require a shorter keyframe interval of around one second.
More optimal encoding settings can be found here: