()

mp4encrypt

    MP4 Encrypter - Version 1.6
    (Bento4 Version 1.6.0.0)
    (c) 2002-2016 Axiomatic Systems, LLC
    usage: mp4encrypt --method <method> [options] <input> <output>
         <method> is OMA-PDCF-CBC, OMA-PDCF-CTR, MARLIN-IPMP-ACBC,
         MARLIN-IPMP-ACGK, ISMA-IAEC, PIFF-CBC, PIFF-CTR, MPEG-CENC,
         MPEG-CBC1, MPEG-CENS, MPEG-CBCS
      Options:
      --show-progress
          Show progress details
      --fragments-info <filename>
          Encrypt the fragments read from <input>, with track info read
          from <filename>
      --key <n>:<k>:<iv>
          Specifies the key to use for a track (or group key).
          <n> is a track ID, <k> a 128-bit key in hex (32 characters)
          and <iv> a 64-bit or 128-bit IV or salting key in hex
          (16 or 32 characters) depending on the cipher mode
          The key and IV values can also be specified with the keyword 'random'
          instead of a hex-encoded value, in which case a randomly generated value
          will be used.
          (several --key options can be used, one for each track)
      --strict
          Fail if there is a warning (ex: one or more tracks would be left unencrypted)
      --property <n>:<name>:<value>
          Specifies a named string property for a track
          <n> is a track ID, <name> a property name, and <value> is the
          property value
          (several --property options can be used, one or more for each track)
      --global-option <name>:<value>
          Sets the global option <name> to be equal to <value>
      --pssh <system-id>:<filename>
          Add a 'pssh' atom for this system ID, with the payload
          loaded from <filename>.
          (several --pssh options can be used, with a different system ID for each)
          (the filename can be left empty after the ':' if no payload is needed)
      --pssh-v1 <system-id>:<filename>
          Same as --pssh but generates a version=1 'pssh' atom
          (this option must appear *after* the --property options on the command line)
      --kms-uri <uri>
          Specifies the KMS URI for the ISMA-IAEC method
      Method Specifics:
        OMA-PDCF-CBC, MARLIN-IPMP-ACBC, MARLIN-IPMP-ACGK, PIFF-CBC, MPEG-CBC1, MPEG-CBCS:
        the <iv> can be 64-bit or 128-bit
        If the IV is specified as a 64-bit value, it will be padded with zeros.
        OMA-PDCF-CTR, ISMA-IAEC, PIFF-CTR, MPEG-CENC, MPEG-CENS:
        the <iv> should be a 64-bit hex string.
        If a 128-bit value is supplied, it will be truncated to 64-bit.
        OMA-PDCF-CBC, OMA-PDCF-CTR: The following properties are defined,
        and all other properties are stored in the textual headers:
          ContentId       -> the content ID for the track
          RightsIssuerUrl -> the Rights Issuer URL
        MARLIN-IPMP-ACBC, MARLIN-IPMP-ACGK: The following properties are defined:
          ContentId -> the content ID for the track
        MARLIN-IPMP-ACGK: The group key is specified with --key where <n>
        is 0. The <iv> part of the key must be present, but will be ignored;
        It should therefore be set to 0000000000000000
        MPEG-CENC, MPEG-CBC1, MPEG-CENS, MPEG-CBCS, PIFF-CTR, PIFF-CBC:
        The following properties are defined:
          KID -> the value of KID, 16 bytes, in hexadecimal (32 characters)
          ContentId -> Content ID mapping for KID (Marlin option)
          PsshPadding -> pad the 'pssh' container to this size
                        (only when using ContentId).
                        This property should be set for track ID 0 only