AT&T Video Optimizer
Video Segment Size
Introduction
A video segment (or chunk) is a fragment of video information that is a collection of video frames. Combined together, these segments make up a whole video.
In streaming, video segments vary in size. Understanding the size of the video segments in a stream can help you determine the most efficient segment size.
Background
Video segments are common in streaming technologies like Apple’s HTTP Live Streaming (HLS). In HLS, each video segment corresponds to a single file that is listed in a manifest containing the URLs of the different files that comprise the video.
Video segments, like all video content, are made up of a series of frames. Each frame is a still image that when played in sequence creates a moving picture. The pace of the sequence is usually denoted in FPS (frames per second). So, content created with an FPS of 30 means that there are 30 "still images” that will play for every second of video.
Each video segment contains a header which indicates parameters such as, the type of chunk; the size; comments, etc. In the middle of the header, there is a variable area containing data which are decoded by the program from the parameters in the header.
The Issue
You should determine the best size for the segments in your video. Once you determine the best size, you can run the video through a segmenter.
Segmentation (also known as fragmentation) is the process of dividing a larger file into a series of smaller files. Segment lengths in popular HTTP-based streaming delivery range from 2 to10 seconds.
HTTP streaming sends multiple files in the same stream that contain multiple-bit rate content of the same length but varying resolutions. Segmentation also refers to the act of simultaneously segmenting these multiple files at the exact same point in each file.
Several tools are available that can help you segment your video, such as a Media Stream Segmenter or a Media File Segmenter. It is also recommended that you use a Media Stream Validator to make sure your video files will work with streaming clients.
Best Practice Recommendation
The Best Practice recommendation is to study your video stream, determine the most efficient segment size, and then implement that when segmenting your video.
The Video Optimizer report on segment size can then help you verify if the size of the segments that were delivered matched the segmentation choices on the server.
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.