Paramètres de chiffrement

Cette rubrique contient des détails sur les paramètres d'encodage liés au cryptage des vidéos.

Aperçu

Zencoder peut effectuer le cryptage AES des fichiers vidéo. Notre implémentation est conçue pour être compatible avec les sorties HTTP Live Streaming (HLS), mais peut être utilisée pour crypter tout fichier vidéo de la même manière. Lorsqu'ils sont utilisés pour des sorties segmentées, seuls les fichiers de segment seront chiffrés (laissant les fichiers manifest / playlist lisibles, comme prévu). Pour les sorties HLS, les données de clé / IV nécessaires seront ajoutées au fichier manifeste M3U8 et les fichiers de clé de chiffrement seront inclus avec les autres fichiers livrables, le cas échéant.

Le chiffrement est activé lorsque encryption_key encryption_key_url, encryption_method, ou encryption_key_rotation_period sont spécifiés.

Notez que la manière dont vous devez spécifier le cryptage dépend de la manière dont le lecteur que vous utilisez s'attend à recevoir la clé. Par exemple, VideoJS attend des octets bruts (pas une chaîne hexadécimale), et dans ce cas, vous souhaitez utiliser encryption_key_url plutôt que encryption_key, qui doivent être transmis à Zencoder comme une chaîne hexagonale.

encryption_method

encryption_method:String

Versions de l'API : V2

Parent : sorties

Valeurs valides : « aucun », « aes-128-cbc », « aes-128-ctr », « aes-256-cbc » ou « aes-256-ctr »

Types de tâches compatibles : vod

Exemple : aes-128-cbc

Description :

Définissez la méthode de chiffrement à utiliser pour le chiffrement.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "encryption_method": "aes-128-cbc"
    }
  ]
}

clé encryption_

encryption_key:String

Versions de l'API : V2

Parent : sorties

Valeurs valides : Une chaîne hexadécimale de 16 octets (32 caractères, préfixe "0x" facultatif)

Types de tâches compatibles : vod

Exemple : a5f6a7d6ef5d6a7a02a23dd35dd56a63

Description :

Définissez une seule clé de cryptage à utiliser plutôt que de laisser Zencoder en générer une. La transmission d'une clé de chiffrement n'est pas compatible avec la rotation des clés. Zencoder générera et renverra les clés de chiffrement si vous utilisez la rotation des clés.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "encryption_key": "a5f6a7d6ef5d6a7a02a23dd35dd56a63"
    }
  ]
}

encryption_key_url

encryption_key_url:String

Versions de l'API : V2

Parent : sorties

Valeurs valides : Une URL vers un fichier contenant une clé binaire de 16 octets

Types de tâches compatibles : vod

Exemple : http://example.com/encryption.key

Description :

Définissez une seule clé de cryptage à utiliser plutôt que de laisser Zencoder en générer une. Spécifié comme URL vers un fichier contenant une clé binaire de 16 octets.

Cela sera inclus comme URL du fichier de clé dans les manifestes HLS et aucun fichier de clé de chiffrement ne sera inclus avec la sortie. Si la clé de chiffrement n'est pas également spécifiée, Zencoder tentera de télécharger ce fichier et de l'utiliser pour chiffrer la sortie.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "encryption_key_url": "http://example.com/encryption.key"
    }
  ]
}

encryption_key_rotation_period

encryption_key_rotation_period:Number

Versions de l'API : V2

Parent : sorties

Valeurs valides : Un nombre supérieur à 0

Types de tâches compatibles : vod

Exemple : dix

Description :

Lorsque Zencoder génère des clés de chiffrement, utilisez une clé différente pour chaque ensemble de segments, en effectuant une rotation vers une nouvelle clé après ces nombreux segments.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "encryption_key_rotation_period": 10
    }
  ]
}

encryption_key_url_prefix

encryption_key_url_prefix:String

Versions de l'API : V2

Parent : sorties

Valeurs valides : Une URL ou un chemin relatif

Types de tâches compatibles : vod

Exemple : clés/

Description :

Lorsqu'un encryption_key_url n'est pas spécifié, ajoutez-le aux noms de fichiers de clé de chiffrement avant de les inclure dans le manifeste. Sinon, les clés sont supposées être accessibles à partir du même chemin que le fichier manifeste. Si un point d'interrogation est utilisé dans la chaîne, le préfixe sera utilisé tel quel, sinon une barre oblique sera ajoutée à la fin du préfixe (sauf si elle se termine déjà par une barre oblique).

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "encryption_key_url_prefix": "keys/"
    }
  ]
}

encryption_iv

encryption_iv:String

Versions de l'API : V2

Parent : sorties

Valeurs valides : Une chaîne hexadécimale de 16 octets (32 caractères, préfixe "0x" facultatif)

Types de tâches compatibles : vod

Exemple : a5f6a7d6ef5d6a7a02a23dd35dd56a63

Description :

Définissez un vecteur d'initialisation à utiliser lors du chiffrement, sous la forme d'une chaîne hexadécimale de 16 octets. Sur les sorties segmentées, si cela n'est pas spécifié, les segments seront chiffrés avec des valeurs IV incrémentées, en commençant à zéro (conformément aux spécifications HLS).

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "encryption_iv": "a5f6a7d6ef5d6a7a02a23dd35dd56a63"
    }
  ]
}

encryption_password

encryption_password:String

Versions de l'API : V2

Parent : sorties

Valeurs valides : Un string

Types de tâches compatibles : vod

Exemple : mot de passe super secret

Description :

Définit un mot de passe à utiliser pour générer un vecteur d'initialisation. Non pris en charge pour les sorties segmentées. Les sorties non segmentées nécessitent soit encryption_iv, soit encryption_password.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "encryption_password": "super-secret-password"
    }
  ]
}