java.lang.Object
com.amazonaws.services.elastictranscoder.model.Playlist
All Implemented Interfaces:
Serializable, Cloneable

public class Playlist extends Object implements Serializable, Cloneable

Use Only for Fragmented MP4 or MPEG-TS Outputs. If you specify a preset for which the value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), Playlists contains information about the master playlists that you want Elastic Transcoder to create. We recommend that you create only one master playlist per output format. The maximum number of master playlists in a job is 30.

See Also:
  • Constructor Details

    • Playlist

      public Playlist()
  • Method Details

    • setName

      public void setName(String 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.

      Note: 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.

      Note: 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.

    • getName

      public String getName()

      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.

      Note: 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:
      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.

      Note: 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.

    • withName

      public Playlist withName(String 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.

      Note: 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.

      Note: 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.
    • setFormat

      public void setFormat(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.
    • getFormat

      public String getFormat()

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

      Returns:
      The format of the output playlist. Valid formats include HLSv3, HLSv4, and Smooth.
    • withFormat

      public Playlist withFormat(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.
    • getOutputKeys

      public List<String> getOutputKeys()

      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:
      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.

    • setOutputKeys

      public void setOutputKeys(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.

    • withOutputKeys

      public Playlist withOutputKeys(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.

      NOTE: This method appends the values to the existing list (if any). Use setOutputKeys(java.util.Collection) or withOutputKeys(java.util.Collection) if you want to override the existing values.

      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.
    • withOutputKeys

      public Playlist withOutputKeys(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.
    • setHlsContentProtection

      public void setHlsContentProtection(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.
    • getHlsContentProtection

      public HlsContentProtection getHlsContentProtection()

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

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

      public Playlist withHlsContentProtection(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.
    • setPlayReadyDrm

      public void setPlayReadyDrm(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.
    • getPlayReadyDrm

      public PlayReadyDrm getPlayReadyDrm()

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

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

      public Playlist withPlayReadyDrm(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.
    • setStatus

      public void setStatus(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.
    • getStatus

      public String getStatus()

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

      Returns:
      The status of the job with which the playlist is associated.
    • withStatus

      public Playlist withStatus(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.
    • setStatusDetail

      public void setStatusDetail(String statusDetail)

      Information that further explains the status.

      Parameters:
      statusDetail - Information that further explains the status.
    • getStatusDetail

      public String getStatusDetail()

      Information that further explains the status.

      Returns:
      Information that further explains the status.
    • withStatusDetail

      public Playlist withStatusDetail(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.
    • toString

      public String toString()
      Returns a string representation of this object; useful for testing and debugging.
      Overrides:
      toString in class Object
      Returns:
      A string representation of this object.
      See Also:
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • clone

      public Playlist clone()
      Overrides:
      clone in class Object