选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

Using image media playlists to enable trick-play in AWS Elemental MediaPackage

聚焦模式
Using image media playlists to enable trick-play in AWS Elemental MediaPackage - AWS Elemental MediaPackage v2
此页面尚未翻译为您的语言。 请求翻译

To use image-based trickplay, in your upstream encoder you create an HLS image media playlist that contains JPEG image segments. MediaPackage automatically passes through the image segments to the output. These segments are the thumbnail images and image metadata that the video player uses for visual cues. These segments must conform to the Image Media Playlist specification, version 0.4. The service supports the time-based implementation of the specification.

For information about how to configure your upstream encoder to generate an image media playlist, see Configuring your upstream encoder to generate image media playlists.

Input source requirements

Your HLS source content must meet the following requirements:

  • The HLS parent playlist that references the image playlist must include the EXT-X-IMAGE-STREAM-INF tag.

  • The image playlist must include An EXT-X-IMAGES-ONLY tag above the segment list.

    Note

    We recommend that you use decimal durations in the EXT-INF and EXT-X-TILES tags to help MediaPackage give players the most accurate image durations.

  • You must use image segments that are valid JPEG image files less than 20 MB.

  • Each JPEG must contain only one image segment. The encoder must produce image segments and video segments at the same cadence.

You can use AWS Media Services to generate an HLS source in your upstream encoder that complies with the Image Media Playlist specification, version 0.4. For more information, see the following section Configuring your upstream encoder to generate image media playlists.

Limitations

Keep in mind the following limitations when using image-based trick-play for MediaPackage:

  • MediaPackage doesn't combine image segments for packaging configurations. For example, if the service ingests a live stream with an image asset with a 2 second segment duration, and you specify a segment output duration of 6 seconds, we combine the video and audio segments to be 6 seconds long, but image segments will remain 2 seconds.

  • Depending on your HLS player requirements, the use of EXT-X-PROGRAM-DATE-TIME tags might be necessary to display the trick-play image.

Configuring your upstream encoder to generate image media playlists

Your HLS source must conform to the Image Media Playlist specification, version 0.4. You can use the following AWS Media Services to create an HLS stream that complies with the specification. For more information, see the following documentation:

To use an image media playlist to enable trick-play for HLS
  • MediaPackage supports live trick-play by creating an image media playlist from an existing live stream. Your source HLS content must conform to the Image Media Playlist specification, version 0.4.

    If your source content includes one or more image media playlists, your HLS output will also include the same image media playlists, with the corresponding signaling in the parent playlist.

    This example HLS parent playlist generated by MediaPackage uses a EXT-X-IMAGE-STREAM-INF tag for the image-based trickplay rendition and includes the "variant-hls_6.m3u8" child playlist URI. child playlist URIs.

    #EXTM3U #EXT-X-VERSION:3 #EXT-X-INDEPENDENT-SEGMENTS #EXT-X-MEDIA:LANGUAGE="und",AUTOSELECT=YES,CHANNELS="2",FORCED=NO,TYPE=AUDIO,URI="variant-hls_5.m3u8",GROUP-ID="audio_0",DEFAULT=YES,NAME="und" #EXT-X-STREAM-INF:CODECS="mp4a.40.2,avc1.4D4028",AVERAGE-BANDWIDTH=5500000,RESOLUTION=1920x1080,VIDEO-RANGE=SDR,FRAME-RATE=30.0,BANDWIDTH=5931112,AUDIO="audio_0" variant-hls_1.m3u8 #EXT-X-STREAM-INF:CODECS="mp4a.40.2,avc1.4D401F",AVERAGE-BANDWIDTH=3300000,RESOLUTION=1280x720,VIDEO-RANGE=SDR,FRAME-RATE=30.0,BANDWIDTH=3643112,AUDIO="audio_0" variant-hls_2.m3u8 #EXT-X-STREAM-INF:CODECS="mp4a.40.2,avc1.4D401F",AVERAGE-BANDWIDTH=1650000,RESOLUTION=960x540,VIDEO-RANGE=SDR,FRAME-RATE=30.0,BANDWIDTH=1927083,AUDIO="audio_0" variant-hls_3.m3u8 #EXT-X-STREAM-INF:CODECS="mp4a.40.2,avc1.4D401E",AVERAGE-BANDWIDTH=825000,RESOLUTION=640x360,VIDEO-RANGE=SDR,FRAME-RATE=30.0,BANDWIDTH=1069069,AUDIO="audio_0" variant-hls_4.m3u8 #EXT-X-IMAGE-STREAM-INF:CODECS="jpeg",RESOLUTION=312x176,BANDWIDTH=131436,URI="variant-hls_6.m3u8"

    MediaPackage also inserts EXT-X-IMAGES-ONLY tags in the child playlist, and then generates and includes an image media playlist in the stream. This playlist enables player functionality like fast forward and rewind.

    This example HLS child playlist generated by MediaPackage uses the EXT-X-IMAGES-ONLY tag and includes the segment_6_4595218.jpg segment URI.

    #EXTM3U #EXT-X-VERSION:3 #EXT-X-INDEPENDENT-SEGMENTS #EXT-X-TARGETDURATION:6 #EXT-X-MEDIA-SEQUENCE:4595218 #EXT-X-DISCONTINUITY-SEQUENCE:22 #EXT-X-IMAGES-ONLY #EXT-X-PROGRAM-DATE-TIME:2024-04-18T19:16:56.833Z #EXTINF:6.0, segment_6_4595218.jpg #EXT-X-PROGRAM-DATE-TIME:2024-04-18T19:17:02.833Z #EXTINF:6.0, segment_6_4595219.jpg #EXT-X-PROGRAM-DATE-TIME:2024-04-18T19:17:08.833Z #EXTINF:6.0, segment_6_4595220.jpg #EXT-X-PROGRAM-DATE-TIME:2024-04-18T19:17:14.833Z #EXTINF:6.0, segment_6_4595221.jpg #EXT-X-PROGRAM-DATE-TIME:2024-04-18T19:17:20.833Z
To use an image media playlist to enable trick-play for DASH
  • MediaPackage supports live trick-play by creating an image media playlist from an existing live stream. Your source HLS content must conform to the Image Media Playlist specification, version 0.4.

    If your source content includes one or more image media playlists, your DASH output will also include an image-based AdaptationSet and the corresponding image Representations. When MediaPackage outputs content from a DASH packaging configuration or endpoint, the service outputs thumbnails based on the DASH-IF Interoperability Points specification, v4.3, section 6.2.6.

    This example DASH manifest generated by MediaPackage uses a specific AdaptationSet in which the representation includes a <EssentialProperty schemeIdUri="http://dashif.org/guidelines/thumbnail_tile" value="1x1"/> element indicating that each image represents a discrete image, and not a tiled thumbnails image that includes multiple thumbnails.

    <MPD id="0" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="dynamic" minimumUpdatePeriod="PT2S" minBufferTime="PT5S" timeShiftBufferDepth="PT1M4.079S" suggestedPresentationDelay="PT10S" availabilityStartTime="2024-01-01T00:00:00.000000+00:00" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:mspr="urn:microsoft:playready" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd" publishTime="2024-04-02T16:57:17.000063+00:00"> <Period id="1712019690992" start="PT2209H1M30S"> <AdaptationSet id="2137622408" contentType="video" mimeType="video/mp4" segmentAlignment="true"> <SegmentTemplate timescale="48000" media="cmaf-segment_$RepresentationID$_$Number$.mp4" initialization="cmaf-segment_$RepresentationID$_21187_init.mp4" startNumber="36447" presentationTimeOffset="831120"> <SegmentTimeline> <S t="6566786514" d="180179"/> <S t="6566966694" d="180179"/> <S t="6567146874" d="180179"/> <S t="6567327054" d="180179"/> <S t="6567507234" d="180179"/> <S t="6567687414" d="180179"/> <S t="6567867594" d="180179"/> <S t="6568047774" d="180179"/> <S t="6568227954" d="180179"/> <S t="6568408134" d="180179"/> <S t="6568588314" d="180179"/> <S t="6568768494" d="180179"/> <S t="6568948674" d="180179"/> <S t="6569128854" d="180179"/> <S t="6569309034" d="180179"/> <S t="6569489214" d="180179"/> </SegmentTimeline> </SegmentTemplate> <Representation id="1" bandwidth="2000000" frameRate="24000/1001" codecs="avc1.4D401F" width="1280" height="720"/> </AdaptationSet> <AdaptationSet id="515700000" contentType="image" mimeType="image/jpeg" segmentAlignment="true"> <SegmentTemplate timescale="60000" media="cmaf-segment_$RepresentationID$_$Number$.jpg" initialization="cmaf-segment_$RepresentationID$_21187_init.jpg" startNumber="36447" presentationTimeOffset="1038900"> <SegmentTimeline> <S t="8208483142" d="225224"/> <S t="8208708367" d="225224"/> <S t="8208933592" d="225224"/> <S t="8209158817" d="225224"/> <S t="8209384042" d="225224"/> <S t="8209609267" d="225224"/> <S t="8209834492" d="225224"/> <S t="8210059717" d="225224"/> <S t="8210284942" d="225224"/> <S t="8210510167" d="225224"/> <S t="8210735392" d="225224"/> <S t="8210960617" d="225224"/> <S t="8211185842" d="225224"/> <S t="8211411067" d="225224"/> <S t="8211636292" d="225224"/> <S t="8211861517" d="225224"/> </SegmentTimeline> </SegmentTemplate> <Representation id="3" bandwidth="28608" codecs="jpeg" width="320" height="174"> <EssentialProperty schemeIdUri="http://dashif.org/guidelines/thumbnail_tile" value="1x1"/> </Representation> </AdaptationSet> <AdaptationSet id="972192134" contentType="audio" mimeType="audio/mp4" segmentAlignment="true" lang="und"> <Label>und</Label> <SegmentTemplate timescale="48000" media="cmaf-segment_$RepresentationID$_$Number$.mp4" initialization="cmaf-segment_$RepresentationID$_21187_init.mp4" startNumber="36447" presentationTimeOffset="831120"> <SegmentTimeline> <S t="6566792949" d="180224" r="1"/> <S t="6567153398" d="180224" r="3"/> <S t="6567874295" d="180224" r="1"/> <S t="6568234744" d="180224" r="3"/> <S t="6568955641" d="180224" r="2"/> <S t="6569496313" d="179200"/> </SegmentTimeline> </SegmentTemplate> <Representation id="6" bandwidth="191522" codecs="mp4a.40.2" audioSamplingRate="48000"> <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> </Representation> </AdaptationSet> <SupplementalProperty schemeIdUri="urn:scte:dash:utc-time" value="2024-04-02T16:56:13.200Z"/> </Period> </MPD>
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。