i-Frames and i-Frame intervals are used to compress video so that it can be sent over the Internet.
I see that the Encoding tab of SlingPlayer Options contains a setting for "I-Frame interval." What is that?
Using I-Frames is a part of video compression. Video requires a lot of network capacity to transmit, so video data is compressed to make streaming over the Internet possible. SlingStream, which is the compression technology that your Slingbox uses, makes the best use of available network capacity at any moment. It does that by analyzing the video stream frame-by-frame, and then finding the best ways to transmit the best possible picture using the least possible data.
An I-Frame is a piece of transmitted video that shows a complete representation of the picture that you're watching at a particular moment. For the frames that follow the I-Frame, SlingStream analyzes this video to see if it can "describe" it only in terms of how it's changed from the I-Frame, rather than re-describing the entire picture all over again. This way, SlingStream can reduce the amount of data needed to transmit the video.
Here's a graphic that represents the "thinking" that SlingStream does:
In this graphic, the first and last frames are the I-Frames, as they contain the entire image of the car and the background. However, since the only thing going on in this piece of video is the car moving across the static background, SlingStream only sends data about how the car should move. It cuts down on data transmission by not "reinventing the wheel" and re-sending new data about the unchanging background ... instead, it specifies that the background should stay the same for those frames.
However, this can't go on forever. Eventually, the background will change, or a different car will drive by, or whatever. That's when SlingStream transmits another I-Frame to serves as a new "reference" that it can use to describe the following frames using as little data as possible.
In a perfect world, there would be unlimited network capacity, and SlingStream could transmit only I-Frames for maximum video quality. But it's not a perfect world! Picture quality needs to be balanced against available network capacity. That's why the video quality is higher when intervals between I-Frames are shorter, but the video needs more network capacity. When intervals between I-Frames are longer, the video transmission uses a lot less bandwidth, but the video quality is lower.
On top of that, some rapidly-changing video needs lots of I-Frames for decent quality. Other video can get by with only a few. That's why, by far, it's best to let SlingStream adjust the I-Frame rate for you.
However, if you’re having bandwidth problems, you can experiment with adjusting the interval between I-Frames to see if that improves the video quality.
To adjust the I-Frame setting manually:
- Choose SlingPlayer Options from the Settings menu (or press Alt+O).
- Click the Encoding tab.
- Click Manually adjust stream parameters (advanced).
- Adjust the I-Frame interval to your liking. The range is 1-30, and the default setting is 5.
Note: To adjust the I-Frame, you must select the option to set all of the other parameters manually, too. Be sure this is what you really want to do!
To return to the application default settings:
- Click Original Settings to return to the default settings, or
- Click Cancel if you made the changes just now, before clicking OK or Apply. Or ...
- Select Enable SlingStream optimization to bypass any manual settings and return to automatic streaming.
|