Manifest fields - AWS Elemental MediaPackage

Manifest fields

The manifests fields hold general information about the manifest. You must attach at least one manifest to an origin endpoint. You can attach up to twenty five manifests to a single origin endpoint, and request a quota increase if necessary.

Choose the type of manifest to use. You can choose an HLS manifest, LL-HLS manifest, or DASH manifest.

Create an HLS or LL-HLS manifest

To create an HLS or LL-HLS manifest
  1. For Manifest name enter a short string that will be appended to the endpoint URL. The manifest name creates a unique path to this endpoint. If you don't enter a value, MediaPackage uses the default manifest name, index. MediaPackage automatically inserts the format extension, such as .m3u8. Supported characters are A-Z, a-z, 0-9, and - (hyphen). You can't use underscores in the name.

  2. (Optional) For Child manifest name enter a short string that will be appended to the endpoint URL. The child manifest name creates a unique path to this endpoint. Supported characters are A-Z, a-z, 0-9, and - (hyphen). You can't use underscores in the name.

  3. For Manifest window (sec.) enter the total duration (in seconds) of the manifest's content. The maximum manifest window is 900 seconds (15 minutes).

  4. For Program date/time interval (sec.) enter the interval (in seconds) for MediaPackage to insert the EXT-X-PROGRAM-DATE-TIME tags in the manifest. Program date time (PDT) is optional when using HLS manifests, but is required when using low-latency HLS manifests.

    The maximum PDT interval is 1,209,600 seconds (14 days). If you don't enter an interval, EXT-X-PROGRAM-DATE-TIME tags aren't included in the manifest.

    The EXT-X-PROGRAM-DATE-TIME tag holds the time of the segment. When PDT information is available in the source content, MediaPackage uses this same information on the output content. Otherwise, MediaPackage uses Coordinated Universal Time (UTC) for the PDT.

    The PDT information helps downstream players to synchronize the stream to the wall clock, enabling functionality like viewer seek in the playback timeline and time display on the player.

  5. For Ad markers, choose how ad markers are included in the packaged content. If you include ad markers in the content stream in your upstream encoders, then you need to inform MediaPackage what to do with the ad markers in the output. If you don't see this field, select Enable SCTE support in the origin endpoint segment settings. Choose from the following options:

    • Daterange – Insert EXT-X-DATERANGE tags to signal ads and program transition events in TS and CMAF output manifests. If you choose daterange, you must also enter a Program date/time interval (sec.) value of 1 or greater.

  6. For Filter Configuration, optionally add Manifest filter, Start time, End time, and Time delay. These filters apply to all egress requests for your endpoint.

    To automatically fill these values from an existing query string, choose Import from query string. For example, you can import the following query string to automatically fill in Filter key video_codec, Filter value h265, Filter key audio_language, Filter value fr,en-US, Start time 2023-10-20T12:20:50Z, End time 2023-10-20T13:20:50Z, and Time delay 10 seconds: aws.manifestfilter=video_codec:h265;audio_language:fr,en-US,de&start=2023-10-20T12:20:50Z&end=2023-10-20T13:20:50Z&time_delay=10

    Manifest filter

    Optionally specify one or more manifest filters for all of your manifest egress requests.

    You enter a Filter key and Filter value pair for each manifest filter. For a list of supported keys and values, see Manifest filter query parameters.

    For example, to restrict all manifest egress requests to 0 to 44000 Hz audio sample rate, 0 to 2147483647 video bitrate, H265 video codec, and French and English languages, enter the following key and value pairs:

    Filter key audio_sample_rate | Filter value: 0-44100

    Filter key video_bitrate | Filter value: 0-2147483647

    Filter key video_codec | Filter value: H265

    Filter key audio_language | Filter value: fr,en-US

    Start time and End time

    Optionally specify the start or end time for all of your manifest egress requests.

    For more information about start and end times, see Time-shifted viewing reference in AWS Elemental MediaPackage.

    Note that if you enter a start or end time using the API, or import using Import from query string in the MediaPackage console, enter dates in an ISO-8601 format.

    Time delay

    Optionally specify the time delay (in seconds) for all of your manifest egress requests.

    For more information about using time delays, see Time delay.

Note

When you include a Manifest filter, you cannot use matching query parameters for the manifest's endpoint URL. If you do, you will receive a 404 HTTP error code instead. For example, if you include a Manifest filter with a audio_sample_rate Filter key and 44100 Filter value, and you make an HTTP request for https://<example-url>/?aws.manifestfilter=audio_sample_rate:44100, you will receive a 404 error.

Create a DASH manifest

To create a DASH manifest
  1. For Manifest name, enter a short string that will be appended to the endpoint URL. The manifest name creates a unique path to this endpoint. If you don't enter a value, MediaPackage uses the default manifest name, index. MediaPackage automatically inserts the format extension, such as .mpd. Supported characters are A-Z, a-z, 0-9, and - (hyphen). You can't use underscores in the name.

  2. For Manifest window (sec.) enter the total duration (in seconds) of the manifest's content. The maximum manifest window is 900 seconds (15 minutes). You can request a quota increase if necessary.

  3. For Min update period (sec.), enter the minimum amount of time (in seconds) that the player should wait before requesting manifest updates. A lower value means that manifests are updated more frequently, but a lower value also contributes to request and response network traffic.

  4. For Min buffer time (sec.), enter the minimum amount of time (in seconds) that a player must keep in the buffer. If network conditions interrupt playback, the player will have additional buffered content before playback fails, allowing for recovery time before the viewer's experience is affected.

  5. For Suggested presentation delay (sec.), enter the amount of time (in seconds) that the player should be from the end of the manifest. This sets the content start point back x seconds from the end of the manifest (the point where content is live). For example, with a 35-second presentation delay, requests at 5:30 receive content from 5:29:25. When used with time delay, MediaPackage adds the suggested presentation delay to the time delay duration.

  6. For Segment template format, choose how MediaPackage and playback requests refer to each segment.

    • For Number with timeline, MediaPackage uses the $Number$ variable to refer to the segment in the media attribute of the SegmentTemplate tag. The value of the variable is the sequential number of the segment. SegmentTimeline is included in each segment template.

  7. For UTC timing, select the method that the player uses to synchronize to coordinated universal time (UTC) wall clock time. This enables the player and MediaPackage to run on the same UTC wall clock time. This is a requirement, otherwise playback timing or synchronization issues can occur. Choose from the following options:

    • UTC Direct

    • HTTP Head

    • HTTP Iso

    • HTTP Xsdate

  8. For UTC timing source, specify a URI to use for UTC synchronization. This is the URI used to fetch the timing data according to the scheme defined by UTC timing. This value is only valid if UTC timing is not NONE or UTC DIRECT. This value will be set as the @value attribute for the UTCTiming element. For information about @value, see DASH, DASH UTC Timing Schemes, 5.8.5.7.

  9. For DASH period triggers, choose how MediaPackage creates media presentation description (MPD) periods in the DASH output manifest. For more information, see Multi-period DASH in AWS Elemental MediaPackage. Choose from the following options:

    • Avails – Avails that pass the ScteFilter will create new periods.

    • DRM key rotation – Encryption key rotation will create new periods.

    • Source changes – Changes in the stream set will create new periods.

    • Source disruptions – Gaps in all content streams will create new periods.

    • None – MediaPackage formats the manifest as a single period. It doesn't create additional periods, unless DRM settings change.

    Note

    New periods will always be created on DRM settings changes, independently of the DASH period triggers that you configure.

  10. For Ad markers, choose how ad markers are signaled in the output manifests. All the non-ad markers that you include in the content stream in your upstream encoders will also be present in the output manifests. Choose from the following options:

    • Binary – The SCTE-35 marker is expressed as a hex-string (Base64 string) rather than full XML.

    • XML – The SCTE marker is expressed fully in XML.

  11. For Filter Configuration, optionally add Manifest filter, Start time, End time, and Time delay. These filters apply to all egress requests for your endpoint.

    To automatically fill these values from an existing query string, choose Import from query string. For example, you can import the following query string to automatically fill in Filter key video_codec, Filter value h265, Filter key audio_language, Filter value fr,en-US, Start time 2023-10-20T12:20:50Z, End time 2023-10-20T13:20:50Z, and Time delay 10 seconds: aws.manifestfilter=video_codec:h265;audio_language:fr,en-US,de&start=2023-10-20T12:20:50Z&end=2023-10-20T13:20:50Z&time_delay=10

    Manifest filter

    Optionally specify one or more manifest filters for all of your manifest egress requests.

    You enter a Filter key and Filter value pair for each manifest filter. For a list of supported keys and values, see Manifest filter query parameters.

    For example, to restrict all manifest egress requests to 0 to 44000 Hz audio sample rate, 0 to 2147483647 video bitrate, H265 video codec, and French and English languages, enter the following key and value pairs:

    Filter key audio_sample_rate | Filter value: 0-44100

    Filter key video_bitrate | Filter value: 0-2147483647

    Filter key video_codec | Filter value: H265

    Filter key audio_language | Filter value: fr,en-US

    Start time and End time

    Optionally specify the start or end time for all of your manifest egress requests.

    For more information about start and end times, see Time-shifted viewing reference in AWS Elemental MediaPackage.

    Note that if you enter a start or end time using the API, or import using Import from query string in the MediaPackage console, enter dates in an ISO-8601 format.

    Time delay

    Optionally specify the time delay (in seconds) for all of your manifest egress requests.

    For more information about using time delays, see Time delay.

Note

When you include a Manifest filter, you cannot use matching query parameters for the manifest's endpoint URL. If you do, you will receive a 404 HTTP error code instead. For example, if you include a Manifest filter with a audio_sample_rate Filter key and 44100 Filter value, and you make an HTTP request for https://<example-url>/?aws.manifestfilter=audio_sample_rate:44100, you will receive a 404 error.