Class PlayReadyDrm

  • All Implemented Interfaces:
    Serializable, Cloneable

    public class PlayReadyDrm
    extends Object
    implements Serializable, Cloneable

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

    PlayReady DRM encrypts your media files using AES-CTR encryption.

    If you use DRM for an HLSv3 playlist, your outputs must have a master playlist.

    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      PlayReadyDrm()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      PlayReadyDrm clone()  
      boolean equals​(Object obj)  
      String getFormat()
      The type of DRM, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.
      String getInitializationVector()
      The series of random bits created by a random bit generator, unique for every encryption operation, that you want Elastic Transcoder to use to encrypt your files.
      String getKey()
      The DRM key for your file, provided by your DRM license provider.
      String getKeyId()
      The ID for your DRM key, so that your DRM license provider knows which key to provide.
      String getKeyMd5()
      The MD5 digest of the key used for DRM on your file, and that you want Elastic Transcoder to use as a checksum to make sure your key was not corrupted in transit.
      String getLicenseAcquisitionUrl()
      The location of the license key required to play DRM content.
      int hashCode()  
      void setFormat​(String format)
      The type of DRM, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.
      void setInitializationVector​(String initializationVector)
      The series of random bits created by a random bit generator, unique for every encryption operation, that you want Elastic Transcoder to use to encrypt your files.
      void setKey​(String key)
      The DRM key for your file, provided by your DRM license provider.
      void setKeyId​(String keyId)
      The ID for your DRM key, so that your DRM license provider knows which key to provide.
      void setKeyMd5​(String keyMd5)
      The MD5 digest of the key used for DRM on your file, and that you want Elastic Transcoder to use as a checksum to make sure your key was not corrupted in transit.
      void setLicenseAcquisitionUrl​(String licenseAcquisitionUrl)
      The location of the license key required to play DRM content.
      String toString()
      Returns a string representation of this object; useful for testing and debugging.
      PlayReadyDrm withFormat​(String format)
      The type of DRM, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.
      PlayReadyDrm withInitializationVector​(String initializationVector)
      The series of random bits created by a random bit generator, unique for every encryption operation, that you want Elastic Transcoder to use to encrypt your files.
      PlayReadyDrm withKey​(String key)
      The DRM key for your file, provided by your DRM license provider.
      PlayReadyDrm withKeyId​(String keyId)
      The ID for your DRM key, so that your DRM license provider knows which key to provide.
      PlayReadyDrm withKeyMd5​(String keyMd5)
      The MD5 digest of the key used for DRM on your file, and that you want Elastic Transcoder to use as a checksum to make sure your key was not corrupted in transit.
      PlayReadyDrm withLicenseAcquisitionUrl​(String licenseAcquisitionUrl)
      The location of the license key required to play DRM content.
    • Constructor Detail

      • PlayReadyDrm

        public PlayReadyDrm()
    • Method Detail

      • setFormat

        public void setFormat​(String format)

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

        Parameters:
        format - The type of DRM, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.
      • getFormat

        public String getFormat()

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

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

        public PlayReadyDrm withFormat​(String format)

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

        Parameters:
        format - The type of DRM, 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.
      • setKey

        public void setKey​(String key)

        The DRM key for your file, provided by your DRM license provider. The key must be base64-encoded, and it must be one of the following bit lengths before being base64-encoded:

        128, 192, or 256.

        The key must also be encrypted by using AWS KMS.

        Parameters:
        key - The DRM key for your file, provided by your DRM license provider. The key must be base64-encoded, and it must be one of the following bit lengths before being base64-encoded:

        128, 192, or 256.

        The key must also be encrypted by using AWS KMS.

      • getKey

        public String getKey()

        The DRM key for your file, provided by your DRM license provider. The key must be base64-encoded, and it must be one of the following bit lengths before being base64-encoded:

        128, 192, or 256.

        The key must also be encrypted by using AWS KMS.

        Returns:
        The DRM key for your file, provided by your DRM license provider. The key must be base64-encoded, and it must be one of the following bit lengths before being base64-encoded:

        128, 192, or 256.

        The key must also be encrypted by using AWS KMS.

      • withKey

        public PlayReadyDrm withKey​(String key)

        The DRM key for your file, provided by your DRM license provider. The key must be base64-encoded, and it must be one of the following bit lengths before being base64-encoded:

        128, 192, or 256.

        The key must also be encrypted by using AWS KMS.

        Parameters:
        key - The DRM key for your file, provided by your DRM license provider. The key must be base64-encoded, and it must be one of the following bit lengths before being base64-encoded:

        128, 192, or 256.

        The key must also be encrypted by using AWS KMS.

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

        public void setKeyMd5​(String keyMd5)

        The MD5 digest of the key used for DRM on your file, and that you want Elastic Transcoder to use as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes before being base64-encoded.

        Parameters:
        keyMd5 - The MD5 digest of the key used for DRM on your file, and that you want Elastic Transcoder to use as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes before being base64-encoded.
      • getKeyMd5

        public String getKeyMd5()

        The MD5 digest of the key used for DRM on your file, and that you want Elastic Transcoder to use as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes before being base64-encoded.

        Returns:
        The MD5 digest of the key used for DRM on your file, and that you want Elastic Transcoder to use as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes before being base64-encoded.
      • withKeyMd5

        public PlayReadyDrm withKeyMd5​(String keyMd5)

        The MD5 digest of the key used for DRM on your file, and that you want Elastic Transcoder to use as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes before being base64-encoded.

        Parameters:
        keyMd5 - The MD5 digest of the key used for DRM on your file, and that you want Elastic Transcoder to use as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes before being base64-encoded.
        Returns:
        Returns a reference to this object so that method calls can be chained together.
      • setKeyId

        public void setKeyId​(String keyId)

        The ID for your DRM key, so that your DRM license provider knows which key to provide.

        The key ID must be provided in big endian, and Elastic Transcoder will convert it to little endian before inserting it into the PlayReady DRM headers. If you are unsure whether your license server provides your key ID in big or little endian, check with your DRM provider.

        Parameters:
        keyId - The ID for your DRM key, so that your DRM license provider knows which key to provide.

        The key ID must be provided in big endian, and Elastic Transcoder will convert it to little endian before inserting it into the PlayReady DRM headers. If you are unsure whether your license server provides your key ID in big or little endian, check with your DRM provider.

      • getKeyId

        public String getKeyId()

        The ID for your DRM key, so that your DRM license provider knows which key to provide.

        The key ID must be provided in big endian, and Elastic Transcoder will convert it to little endian before inserting it into the PlayReady DRM headers. If you are unsure whether your license server provides your key ID in big or little endian, check with your DRM provider.

        Returns:
        The ID for your DRM key, so that your DRM license provider knows which key to provide.

        The key ID must be provided in big endian, and Elastic Transcoder will convert it to little endian before inserting it into the PlayReady DRM headers. If you are unsure whether your license server provides your key ID in big or little endian, check with your DRM provider.

      • withKeyId

        public PlayReadyDrm withKeyId​(String keyId)

        The ID for your DRM key, so that your DRM license provider knows which key to provide.

        The key ID must be provided in big endian, and Elastic Transcoder will convert it to little endian before inserting it into the PlayReady DRM headers. If you are unsure whether your license server provides your key ID in big or little endian, check with your DRM provider.

        Parameters:
        keyId - The ID for your DRM key, so that your DRM license provider knows which key to provide.

        The key ID must be provided in big endian, and Elastic Transcoder will convert it to little endian before inserting it into the PlayReady DRM headers. If you are unsure whether your license server provides your key ID in big or little endian, check with your DRM provider.

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

        public void setInitializationVector​(String initializationVector)

        The series of random bits created by a random bit generator, unique for every encryption operation, that you want Elastic Transcoder to use to encrypt your files. The initialization vector must be base64-encoded, and it must be exactly 8 bytes long before being base64-encoded. If no initialization vector is provided, Elastic Transcoder generates one for you.

        Parameters:
        initializationVector - The series of random bits created by a random bit generator, unique for every encryption operation, that you want Elastic Transcoder to use to encrypt your files. The initialization vector must be base64-encoded, and it must be exactly 8 bytes long before being base64-encoded. If no initialization vector is provided, Elastic Transcoder generates one for you.
      • getInitializationVector

        public String getInitializationVector()

        The series of random bits created by a random bit generator, unique for every encryption operation, that you want Elastic Transcoder to use to encrypt your files. The initialization vector must be base64-encoded, and it must be exactly 8 bytes long before being base64-encoded. If no initialization vector is provided, Elastic Transcoder generates one for you.

        Returns:
        The series of random bits created by a random bit generator, unique for every encryption operation, that you want Elastic Transcoder to use to encrypt your files. The initialization vector must be base64-encoded, and it must be exactly 8 bytes long before being base64-encoded. If no initialization vector is provided, Elastic Transcoder generates one for you.
      • withInitializationVector

        public PlayReadyDrm withInitializationVector​(String initializationVector)

        The series of random bits created by a random bit generator, unique for every encryption operation, that you want Elastic Transcoder to use to encrypt your files. The initialization vector must be base64-encoded, and it must be exactly 8 bytes long before being base64-encoded. If no initialization vector is provided, Elastic Transcoder generates one for you.

        Parameters:
        initializationVector - The series of random bits created by a random bit generator, unique for every encryption operation, that you want Elastic Transcoder to use to encrypt your files. The initialization vector must be base64-encoded, and it must be exactly 8 bytes long before being base64-encoded. If no initialization vector is provided, Elastic Transcoder generates one for you.
        Returns:
        Returns a reference to this object so that method calls can be chained together.
      • setLicenseAcquisitionUrl

        public void setLicenseAcquisitionUrl​(String licenseAcquisitionUrl)

        The location of the license key required to play DRM content. The URL must be an absolute path, and is referenced by the PlayReady header. The PlayReady header is referenced in the protection header of the client manifest for Smooth Streaming outputs, and in the EXT-X-DXDRM and EXT-XDXDRMINFO metadata tags for HLS playlist outputs. An example URL looks like this: https://www.example.com/exampleKey/

        Parameters:
        licenseAcquisitionUrl - The location of the license key required to play DRM content. The URL must be an absolute path, and is referenced by the PlayReady header. The PlayReady header is referenced in the protection header of the client manifest for Smooth Streaming outputs, and in the EXT-X-DXDRM and EXT-XDXDRMINFO metadata tags for HLS playlist outputs. An example URL looks like this: https://www .example.com/exampleKey/
      • getLicenseAcquisitionUrl

        public String getLicenseAcquisitionUrl()

        The location of the license key required to play DRM content. The URL must be an absolute path, and is referenced by the PlayReady header. The PlayReady header is referenced in the protection header of the client manifest for Smooth Streaming outputs, and in the EXT-X-DXDRM and EXT-XDXDRMINFO metadata tags for HLS playlist outputs. An example URL looks like this: https://www.example.com/exampleKey/

        Returns:
        The location of the license key required to play DRM content. The URL must be an absolute path, and is referenced by the PlayReady header. The PlayReady header is referenced in the protection header of the client manifest for Smooth Streaming outputs, and in the EXT-X-DXDRM and EXT-XDXDRMINFO metadata tags for HLS playlist outputs. An example URL looks like this: https://www.example.com/exampleKey/
      • withLicenseAcquisitionUrl

        public PlayReadyDrm withLicenseAcquisitionUrl​(String licenseAcquisitionUrl)

        The location of the license key required to play DRM content. The URL must be an absolute path, and is referenced by the PlayReady header. The PlayReady header is referenced in the protection header of the client manifest for Smooth Streaming outputs, and in the EXT-X-DXDRM and EXT-XDXDRMINFO metadata tags for HLS playlist outputs. An example URL looks like this: https://www.example.com/exampleKey/

        Parameters:
        licenseAcquisitionUrl - The location of the license key required to play DRM content. The URL must be an absolute path, and is referenced by the PlayReady header. The PlayReady header is referenced in the protection header of the client manifest for Smooth Streaming outputs, and in the EXT-X-DXDRM and EXT-XDXDRMINFO metadata tags for HLS playlist outputs. An example URL looks like this: https://www .example.com/exampleKey/
        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