AT&T Video Optimizer
Video Buffer Occupancy
As a developer, video producer, or content creator, it is important to understand buffer occupancy in order to balance delivery quality and video quality.
In general, buffer refers to memory capacity that has been set aside where data is temporarily stored as Random Access Memory (RAM) until being transferred to another part of the system.
Buffers are used in the following way as part of the streaming process, to store video while the stream is being prepared for playback.
- The user's device keeps a video buffer at the application layer.
- The video client downloads video from a server on the Internet.
- As video is received, the files that make up that video are placed in the buffer.
- As video is played back, those files are removed from the buffer.
Buffer occupancy is the amount of video stored in the buffer at any given time.
The buffer helps prevent interruption due to transmission delays as video can be retrieved and played while the buffer is filling. If there is not enough video stored in the buffer, the buffer will empty and the video will stall.
A common issue with the buffer occupancy occurs when a connection is too slow to stream a video smoothly. When a network is fast enough to keep up with playback, buffering is not necessary, but on the Internet, packets can travel over many different routes and delays can be introduced at any juncture. If the size of the buffer is not sufficient, the player will struggle to keep up with the bandwidth, which can lead to stalling or a lot of rate changes, neither of which is desirable.
Best Practice Recommendation
It is a Best Practice Recommendation in video streaming to manage buffering so as to avoid stalls. The Video Optimizer shows you different views of video buffer occupancy in the Diagnostic chart. It visualizes the buffer occupancy in bytes and in seconds of video. This information helps you test the buffer to see if the buffer size setting is adequate.
Video and other types of rich media are on the rise in mobile apps and in the future we plan on offering more guidance on streaming and other video technology in our Mobile Development Best Practices recommendations.