Trick Play allows HLS streams to be played in fast forward and rapid reverse, imitating the capabilities available in systems such as VCRs. Trick Play also allows scrubbing (moving the seek handle back and forth) to be enabled on playback. Trick Play is enabled by creating “Intra-coded picture Frame” (I-frame) playlists, which specify the locations (byte-ranges) of I-frames. Client devices must have iOS 12x or later.
Enabling Trick Play mode in MMD OD produces
EXT-X-I-FRAME-STREAM-INF
tags within the HLS Master Playlist, which provide I-Frames Media Playlist URI’s. See the IETF’s Pantos HLS Specification for additional information.In HTTP Live Streaming (HLS)-based platforms such as AppleTV, this feature is defined in Technical Note TN2288.
The
EXT-X-I-FRAMES-ONLY
tag was introduced in HLS v4.Enabling Trick Play with Input Manifest
To enable support for HLS I-Frames streaming trick play for the input manifest, you must set the
hls_client_manifest_version
parameter to a value >= 4. You can do this in an ISM file or via a query parameter in the playback URL.Setting hls_client_manifest_version in an ISM File
Set the
hls_client_manifest_version
parameter as in this example:1<head>2 ...3 }}{{ <meta name="hls_client_manifest_version" content="4" />4 ...5</head>
Setting hls_client_manifest_version via Query Parameter
Add the
hls_client_manifest_version
query parameter to the query string, with a value >= “4.”When you use a query parameter, the Master Playlist is generated, containing a list of variant media playlists’ URLs, including an I-frame stream
#EXT-X-I-FRAME-STREAM-INF
. The EXT-X-I-FRAME-STREAM-INF
tag includes the URI attribute, which identifies the I-frames Media Playlist. To retrieve the I-Frames Media Playlist, use the following URI:http://.../keyframes/mbr-video=1631000.m3u8?hls_client_manifest_version=4
See also Multi-Bitrate Output with Input Manifest and Query Parameters.
Enabling Trick Play without Input Manifest
To enable HLS I-frames streaming without an input manifest, add the
hls_client_manifest_version
query parameter to the query string, with a value >= “4.”The result is identical to using a query parameter; the Master Playlist is generated, containing a list of the URLs of variant media playlists, including an I-frame stream #EXT-X-I-FRAME-STREAM-INF tag. The EXT-X-I-FRAME-STREAM-INF tag includes the URI attribute, which identifies the I-Frames Media Playlist. To retrieve the I-frames Media Playlist, use the following URI:
http://..../keyframes/stream-video=1230000.m3u8?stream=movie_305;movie_534;movie_1241&hls_client_manifest_version=4