About Apple's HTTP Live Streaming Tools

Read about the tools Apple provides to help you segment your video stream and create the playlists required for successful transmission.


There are several tools available to help you set up an HTTP Live Streaming service. Make sure you've downloaded the current version of the HTTP Live Streaming Tools from the Apple Developer website because they're updated frequently. To access them, sign in with the Apple ID associated with your developer account. The download package contains the following tools:

  • Media Stream Segmenter (mediastreamsegmenter) receives an MPEG-2 transport stream over a UDP network connection or from stdin and divides it into a series of small media segments of equal duration. It then creates an index file containing references to the individual media segments.

  • Media File Segmenter (mediafilesegmenter) divides a MOV, MP4, M4V, M4A, or MP3 file into media segments and creates an index file. The index file and media segments can be deployed using almost any web server infrastructure for streaming to iOS, macOS, and tvOS.

  • Media Subtitle Segmenter (mediasubtitlesegmenter) converts subtitle tracks from a QuickTime file with tx3g-formatted subtitle tracks or SRT files into WebVTT and segments them for deployment using HTTP Live Streaming.

  • Variant Playlist Creator (variantplaylistcreator) works with Media File Segmenter to create a variant playlist from multiple VOD streams.

  • Media Stream Validator (mediastreamvalidator) simulates an HTTP Live Streaming session and verifies that the index file and media segments conform to the HTTP Live Streaming specification. This tool can validate local files and HTTP URLs.

  • HLS Report (hlsreport) uses the JSON file generated by Media Stream Validator to create a report for the validated stream.

  • ID3 Tag Generator (id3taggenerator) creates an ID3 tag to be used as metadata for the Media File Segmenter and sends it over the network to the Media Stream Segmenter.

When creating your own tools or using a third-party tool, ensure that the tool output conforms to Apple's standards.