Class 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:
    Serialized Form
    • Constructor Detail

      • Playlist

        public Playlist()
    • Method Detail

      • 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:
        Object.toString()
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object