HLS Success Guide
HLS Success Guide
Page 1. Background
Page 3. Audio
Audio only HLS Stream
Multiple Audio Bitrates with a single stream
Audio only still images
Dolby HE-AAC and HE-AACv2 Support
Page 4. Video
Multiple Resolutions
Multiple H.264 profiles in a single stream
Advanced H.264 parameters
Format identifiers (CODECS attribute)
Caption Support WebVTT or CEA 608
Keyframes
Page 5. Workflow
HLS Compression Options (Tar and Zip)
HLS Encryption Segment Duration
Reduced TS structural overhead
The Challenge
HLS is a widely adopted and leading standard for multi-screen delivery.
Because of this, HLS transcoding solutions are offered by every leading
media processing service provider. As with most technical solutions, the
devil is in the details, and once you look under the hood at various HLS
“HLS is a step up transcoding solutions, it’s clear that all HLS solutions are not created
from progressive equal. We’ve completed an in-depth analysis of our HLS transcoding
solution with a direct comparison to the competition on a feature-by-
downloading...” feature basis.
The Features
We compared 22 supported features against the competition, and they
are broken down in the grid below. When looking through this lens the
differences between various solutions becomes clear. In addition, we
define each feature and explain its importance in delivering seamless
HLS playback to the broadest range of devices.
Multiple Resolutions
Configuring multiple resolutions is a requirement for optimal playback
“This level of of a single HLS stream to multiple screen sizes across smartphones,
tablets, and HD capable set up boxes like the the Apple TV or Roku.
granular control The Encoding.com HLS Pro preset recommends 9 individual resolutions
will allow a ranging from 416x234 to 1920x1080; however configuration control
exists to customize based on individual requirements.
single stream to
successfully serve Multiple H.264 profiles in a single stream
all OS versions of Configuration control should be present when building a new HLS job
to allow for multiple H.264 profiles within a single stream. This level of
iOS or Android.” granular control will allow a single stream to successfully serve all OS
versions of iOS or Android. Within the Encoding.com HLS Pro template
you can find our recommended pairing of H.264 profile with resolution.
We encode to the following resolutions: 416x234, 480x270, 640,360, 960x540, 1280x720, 1920x1080
Keyframes
Configuration of keyframes on a per HLS stream basis is critical to
meeting the HLS spec and ensuring playback on a wide variety of mobile
devices. In general, keyframes should generally be 3x the frame rate. For
low resolution bitrate HLS streams with low framerates between 12-15
fps we recommend 36-45 keyframes. At higher resolutions where the
frame rate is 29.97 fps keyframes can be set to 90.
WORKFLOW
I-Frame Playlist
“In iOS 5+, you can iOS 5 now supports Fast Forward and Reverse Playback. However, you
don’t need to produce special purpose content to support Fast Forward
now specify a and Reverse Playback. All you need to do is specify where the I-Frames
media segment are. I-Frames, or Intra frames, are encoded video frames whose encoding
as a byte range does not depend on any other frame. To specify where the I-Frames are,
iOS 5 introduces a new I-Frame only playlist.
of a larger URL.
This allows you to Byte-Range support for segments
consolidate your An HLS .m3u8 playlist provides the client with each URL of the
segmented files. Each media URL refers to a media file which is a
media segments segment of a single contiguous stream. If you have 1000 media
into larger files or segments in your content, you will have 1000 files on your CDN or web
server.
a single large file. ”
In iOS 5+, you can now specify a media segment as a byte range of a
larger URL. This allows you to consolidate your media segments into
larger files or a single large file. The primary benefit of this is when a
client is playing your media, rather than downloading each successive
segment file from a different location, it is actually walking through a
larger file in sequence.
This also allows proxy caching servers to get a much better idea of what
needs to be prefetched in order to ensure that the segment you will
need is in the cache at the time you want it. An additional benefit is there
are far fewer files to manage. If you have many video variants in a long
movie, you can have thousands of individual segment files. With byte
range support, you only have a few.
Alternate media
Available in iOS 5+ is support for alternate media. This feature allows a
provider to specify one of a set of variant playlists as an “override” of
the main content. In practice, this allows you to offer an alternate video
angle (e.g view of sports event) or audio track (multiple foreign language)
within a single HLS stream. The client will only play the override media
(audio or video) and suppress any media of the same type from the
main presentation, if present. This allows a presentation to offer multiple
versions of the media without requiring you to store duplicate media
or requiring the client to download all variants when it only needs one.
It also allows additional media to be offered subsequently without
remastering the original content.
Per stream watermarking, text overlay, or audio overlay
Encoding.com offers configuration control to not only add watermarks,
custom text or custom audio overlays to the entire HLS output, but also
allows customizing these features on a per stream basis. For example a
video’s watermark on a 416x234 video will likely need to be a different
size when placed on a 1920x1080 stream.
CONCLUSION
When comparing various HLS solutions in the market we’ve outlined the
features and controls to look for.
Maximum Compatibility
We provide HLS presets engineered, tested, and Apple reviewed to
serve all screen resolutions and maximize compatibility across the top 30
smartphones and tablets for both iOS and Android.
Maximum Control
Customize all encoding parameters on a per-stream basis. Leverage HE-
AAC for the highest quality audio at the lowest bit rates. Package output
as .tar or .zip files for most efficient delivery.
Lowest Overhead
Encoding.com’s proprietary HLS segmenter has the lowest overhead in
the industry which equals tremendous storage savings.
Fastest Processing
Parallel dedicated 16-core processing of all individual streams ensure
that even the largest libraries targeting complex 12 bitrate HLS outputs
are completed in a fraction of real-time.