Interface Playlist.Builder

All Superinterfaces:
Buildable, CopyableBuilder<Playlist.Builder,Playlist>, SdkBuilder<Playlist.Builder,Playlist>, SdkPojo
Enclosing class:
Playlist

public static interface Playlist.Builder extends SdkPojo, CopyableBuilder<Playlist.Builder,Playlist>
  • Method Details

    • name

      The name that you want Elastic Transcoder to assign to the master playlist, for example, nyc-vacation.m3u8. If the name includes a / character, the section of the name before the last / must be identical for all Name objects. If you create more than one master playlist, the values of all Name objects must be unique.

      Elastic Transcoder automatically appends the relevant file extension to the file name (.m3u8 for HLSv3 and HLSv4 playlists, and .ism and .ismc for Smooth playlists). If you include a file extension in Name, the file name will have two extensions.

      Parameters:
      name - The name that you want Elastic Transcoder to assign to the master playlist, for example, nyc-vacation.m3u8. If the name includes a / character, the section of the name before the last / must be identical for all Name objects. If you create more than one master playlist, the values of all Name objects must be unique.

      Elastic Transcoder automatically appends the relevant file extension to the file name ( .m3u8 for HLSv3 and HLSv4 playlists, and .ism and .ismc for Smooth playlists). If you include a file extension in Name, the file name will have two extensions.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • format

      Playlist.Builder format(String format)

      The format of the output playlist. Valid formats include HLSv3, HLSv4, and Smooth.

      Parameters:
      format - The format of the output playlist. Valid formats include HLSv3, HLSv4, and Smooth.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • outputKeys

      Playlist.Builder outputKeys(Collection<String> outputKeys)

      For each output in this job that you want to include in a master playlist, the value of the Outputs:Key object.

      • If your output is not HLS or does not have a segment duration set, the name of the output file is a concatenation of OutputKeyPrefix and Outputs:Key:

        OutputKeyPrefixOutputs:Key

      • If your output is HLSv3 and has a segment duration set, or is not included in a playlist, Elastic Transcoder creates an output playlist file with a file extension of .m3u8, and a series of .ts files that include a five-digit sequential counter beginning with 00000:

        OutputKeyPrefixOutputs:Key.m3u8

        OutputKeyPrefixOutputs:Key00000.ts

      • If your output is HLSv4, has a segment duration set, and is included in an HLSv4 playlist, Elastic Transcoder creates an output playlist file with a file extension of _v4.m3u8. If the output is video, Elastic Transcoder also creates an output file with an extension of _iframe.m3u8:

        OutputKeyPrefixOutputs:Key_v4.m3u8

        OutputKeyPrefixOutputs:Key_iframe.m3u8

        OutputKeyPrefixOutputs:Key.ts

      Elastic Transcoder automatically appends the relevant file extension to the file name. If you include a file extension in Output Key, the file name will have two extensions.

      If you include more than one output in a playlist, any segment duration settings, clip settings, or caption settings must be the same for all outputs in the playlist. For Smooth playlists, the Audio:Profile, Video:Profile, and Video:FrameRate to Video:KeyframesMaxDist ratio must be the same for all outputs.

      Parameters:
      outputKeys - For each output in this job that you want to include in a master playlist, the value of the Outputs:Key object.

      • If your output is not HLS or does not have a segment duration set, the name of the output file is a concatenation of OutputKeyPrefix and Outputs:Key:

        OutputKeyPrefixOutputs:Key

      • If your output is HLSv3 and has a segment duration set, or is not included in a playlist, Elastic Transcoder creates an output playlist file with a file extension of .m3u8, and a series of .ts files that include a five-digit sequential counter beginning with 00000:

        OutputKeyPrefixOutputs:Key.m3u8

        OutputKeyPrefixOutputs:Key00000.ts

      • If your output is HLSv4, has a segment duration set, and is included in an HLSv4 playlist, Elastic Transcoder creates an output playlist file with a file extension of _v4.m3u8. If the output is video, Elastic Transcoder also creates an output file with an extension of _iframe.m3u8:

        OutputKeyPrefixOutputs:Key_v4.m3u8

        OutputKeyPrefixOutputs:Key_iframe.m3u8

        OutputKeyPrefixOutputs:Key.ts

      Elastic Transcoder automatically appends the relevant file extension to the file name. If you include a file extension in Output Key, the file name will have two extensions.

      If you include more than one output in a playlist, any segment duration settings, clip settings, or caption settings must be the same for all outputs in the playlist. For Smooth playlists, the Audio:Profile, Video:Profile, and Video:FrameRate to Video:KeyframesMaxDist ratio must be the same for all outputs.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • outputKeys

      Playlist.Builder outputKeys(String... outputKeys)

      For each output in this job that you want to include in a master playlist, the value of the Outputs:Key object.

      • If your output is not HLS or does not have a segment duration set, the name of the output file is a concatenation of OutputKeyPrefix and Outputs:Key:

        OutputKeyPrefixOutputs:Key

      • If your output is HLSv3 and has a segment duration set, or is not included in a playlist, Elastic Transcoder creates an output playlist file with a file extension of .m3u8, and a series of .ts files that include a five-digit sequential counter beginning with 00000:

        OutputKeyPrefixOutputs:Key.m3u8

        OutputKeyPrefixOutputs:Key00000.ts

      • If your output is HLSv4, has a segment duration set, and is included in an HLSv4 playlist, Elastic Transcoder creates an output playlist file with a file extension of _v4.m3u8. If the output is video, Elastic Transcoder also creates an output file with an extension of _iframe.m3u8:

        OutputKeyPrefixOutputs:Key_v4.m3u8

        OutputKeyPrefixOutputs:Key_iframe.m3u8

        OutputKeyPrefixOutputs:Key.ts

      Elastic Transcoder automatically appends the relevant file extension to the file name. If you include a file extension in Output Key, the file name will have two extensions.

      If you include more than one output in a playlist, any segment duration settings, clip settings, or caption settings must be the same for all outputs in the playlist. For Smooth playlists, the Audio:Profile, Video:Profile, and Video:FrameRate to Video:KeyframesMaxDist ratio must be the same for all outputs.

      Parameters:
      outputKeys - For each output in this job that you want to include in a master playlist, the value of the Outputs:Key object.

      • If your output is not HLS or does not have a segment duration set, the name of the output file is a concatenation of OutputKeyPrefix and Outputs:Key:

        OutputKeyPrefixOutputs:Key

      • If your output is HLSv3 and has a segment duration set, or is not included in a playlist, Elastic Transcoder creates an output playlist file with a file extension of .m3u8, and a series of .ts files that include a five-digit sequential counter beginning with 00000:

        OutputKeyPrefixOutputs:Key.m3u8

        OutputKeyPrefixOutputs:Key00000.ts

      • If your output is HLSv4, has a segment duration set, and is included in an HLSv4 playlist, Elastic Transcoder creates an output playlist file with a file extension of _v4.m3u8. If the output is video, Elastic Transcoder also creates an output file with an extension of _iframe.m3u8:

        OutputKeyPrefixOutputs:Key_v4.m3u8

        OutputKeyPrefixOutputs:Key_iframe.m3u8

        OutputKeyPrefixOutputs:Key.ts

      Elastic Transcoder automatically appends the relevant file extension to the file name. If you include a file extension in Output Key, the file name will have two extensions.

      If you include more than one output in a playlist, any segment duration settings, clip settings, or caption settings must be the same for all outputs in the playlist. For Smooth playlists, the Audio:Profile, Video:Profile, and Video:FrameRate to Video:KeyframesMaxDist ratio must be the same for all outputs.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • hlsContentProtection

      Playlist.Builder hlsContentProtection(HlsContentProtection hlsContentProtection)

      The HLS content protection settings, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.

      Parameters:
      hlsContentProtection - The HLS content protection settings, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • hlsContentProtection

      default Playlist.Builder hlsContentProtection(Consumer<HlsContentProtection.Builder> hlsContentProtection)

      The HLS content protection settings, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.

      This is a convenience method that creates an instance of the HlsContentProtection.Builder avoiding the need to create one manually via HlsContentProtection.builder().

      When the Consumer completes, SdkBuilder.build() is called immediately and its result is passed to hlsContentProtection(HlsContentProtection).

      Parameters:
      hlsContentProtection - a consumer that will call methods on HlsContentProtection.Builder
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • playReadyDrm

      Playlist.Builder playReadyDrm(PlayReadyDrm playReadyDrm)

      The DRM settings, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.

      Parameters:
      playReadyDrm - The DRM settings, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • playReadyDrm

      default Playlist.Builder playReadyDrm(Consumer<PlayReadyDrm.Builder> playReadyDrm)

      The DRM settings, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.

      This is a convenience method that creates an instance of the PlayReadyDrm.Builder avoiding the need to create one manually via PlayReadyDrm.builder().

      When the Consumer completes, SdkBuilder.build() is called immediately and its result is passed to playReadyDrm(PlayReadyDrm).

      Parameters:
      playReadyDrm - a consumer that will call methods on PlayReadyDrm.Builder
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • status

      Playlist.Builder status(String status)

      The status of the job with which the playlist is associated.

      Parameters:
      status - The status of the job with which the playlist is associated.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • statusDetail

      Playlist.Builder statusDetail(String statusDetail)

      Information that further explains the status.

      Parameters:
      statusDetail - Information that further explains the status.
      Returns:
      Returns a reference to this object so that method calls can be chained together.