

La AWS SDK pour JavaScript v2 est arrivée end-of-support. Nous vous recommandons de migrer vers la [AWS SDK pour JavaScript version 3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/). Pour plus de détails et d'informations sur la façon de migrer, veuillez consulter cette [annonce](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Création et gestion de tâches de transcodage dans MediaConvert
<a name="emc-examples-jobs"></a>

![\[JavaScript code example that applies to Node.js execution\]](http://docs.aws.amazon.com/fr_fr/sdk-for-javascript/v2/developer-guide/images/nodeicon.png)

**Cet exemple de code Node.js présente :**
+ Comment créer des tâches de transcodage dans. MediaConvert
+ Procédure d'annulation d'une tâche de transcodage.
+ Procédure de récupération de l'objet JSON pour une tâche de transcodage terminée.
+ Procédure de récupération d'un tableau JSON pour jusqu'à 20 tâches créées en dernier.

## Scénario
<a name="emc-examples-jobs-scenario"></a>

Dans cet exemple, vous utilisez un module Node.js à appeler pour MediaConvert créer et gérer des tâches de transcodage. Le code utilise le SDK pour ce JavaScript faire en utilisant les méthodes suivantes de la classe MediaConvert client :
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/MediaConvert.html#createJob-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/MediaConvert.html#createJob-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/MediaConvert.html#cancelJob-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/MediaConvert.html#cancelJob-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/MediaConvert.html#getJob-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/MediaConvert.html#getJob-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/MediaConvert.html#listJobs-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/MediaConvert.html#listJobs-property)

## Tâches prérequises
<a name="emc-examples-jobs-prerequisites"></a>

Pour configurer et exécuter cet exemple, réalisez tout d'abord les tâches ci-après :
+ Installez Node.js. Pour plus d'informations, consultez le site web de [Node.js](https://nodejs.org).
+ Créez un fichier de configurations partagé avec vos informations d'identification utilisateur. Pour plus d'informations sur le fichier d'informations d'identification partagé, consultez [Chargement des informations d'identification dans Node.js à partir du fichier d'informations d'identification partagé](loading-node-credentials-shared.md).
+ Créez et configurez des compartiments Amazon S3 qui fournissent du stockage pour les fichiers d'entrée et de sortie des tâches. Pour plus de détails, voir [Création d'un espace de stockage pour les fichiers](https://docs.aws.amazon.com/mediaconvert/latest/ug/set-up-file-locations.html) dans le *guide de AWS Elemental MediaConvert l'utilisateur*.
+ Téléchargez la vidéo d'entrée dans le compartiment Amazon S3 que vous avez configuré pour le stockage d'entrée. *Pour obtenir la liste des codecs et conteneurs vidéo d'entrée pris en charge, consultez la section Codecs et conteneurs [d'entrée pris en charge dans le guide de l'utilisateur](https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers-input.html).AWS Elemental MediaConvert *
+ Créez un rôle IAM qui donne MediaConvert accès à vos fichiers d'entrée et aux compartiments Amazon S3 dans lesquels vos fichiers de sortie sont stockés. Pour plus de détails, consultez la section [Configurer les autorisations IAM](https://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html) dans le *guide de l'AWS Elemental MediaConvert utilisateur*.

## Définition d'une tâche de transcodage simple
<a name="emc-examples-jobs-spec"></a>

Créez un module Node.js nommé `emc_createjob.js`. Veillez à configurer le kit SDK comme indiqué précédemment. Créez le code JSON qui définit les paramètres de tâche de transcodage.

Ces paramètres sont assez détaillés. Vous pouvez utiliser la [AWS Elemental MediaConvert console](https://console.aws.amazon.com/mediaconvert/) pour générer les paramètres de tâche JSON en choisissant vos paramètres de tâche dans la console, puis en choisissant **Afficher le JSON de la tâche** en bas de la section **Job**. Cet exemple illustre le code JSON pour une tâche simple.

```
var params = {
  Queue: "JOB_QUEUE_ARN",
  UserMetadata: {
    Customer: "Amazon",
  },
  Role: "IAM_ROLE_ARN",
  Settings: {
    OutputGroups: [
      {
        Name: "File Group",
        OutputGroupSettings: {
          Type: "FILE_GROUP_SETTINGS",
          FileGroupSettings: {
            Destination: "s3://OUTPUT_BUCKET_NAME/",
          },
        },
        Outputs: [
          {
            VideoDescription: {
              ScalingBehavior: "DEFAULT",
              TimecodeInsertion: "DISABLED",
              AntiAlias: "ENABLED",
              Sharpness: 50,
              CodecSettings: {
                Codec: "H_264",
                H264Settings: {
                  InterlaceMode: "PROGRESSIVE",
                  NumberReferenceFrames: 3,
                  Syntax: "DEFAULT",
                  Softness: 0,
                  GopClosedCadence: 1,
                  GopSize: 90,
                  Slices: 1,
                  GopBReference: "DISABLED",
                  SlowPal: "DISABLED",
                  SpatialAdaptiveQuantization: "ENABLED",
                  TemporalAdaptiveQuantization: "ENABLED",
                  FlickerAdaptiveQuantization: "DISABLED",
                  EntropyEncoding: "CABAC",
                  Bitrate: 5000000,
                  FramerateControl: "SPECIFIED",
                  RateControlMode: "CBR",
                  CodecProfile: "MAIN",
                  Telecine: "NONE",
                  MinIInterval: 0,
                  AdaptiveQuantization: "HIGH",
                  CodecLevel: "AUTO",
                  FieldEncoding: "PAFF",
                  SceneChangeDetect: "ENABLED",
                  QualityTuningLevel: "SINGLE_PASS",
                  FramerateConversionAlgorithm: "DUPLICATE_DROP",
                  UnregisteredSeiTimecode: "DISABLED",
                  GopSizeUnits: "FRAMES",
                  ParControl: "SPECIFIED",
                  NumberBFramesBetweenReferenceFrames: 2,
                  RepeatPps: "DISABLED",
                  FramerateNumerator: 30,
                  FramerateDenominator: 1,
                  ParNumerator: 1,
                  ParDenominator: 1,
                },
              },
              AfdSignaling: "NONE",
              DropFrameTimecode: "ENABLED",
              RespondToAfd: "NONE",
              ColorMetadata: "INSERT",
            },
            AudioDescriptions: [
              {
                AudioTypeControl: "FOLLOW_INPUT",
                CodecSettings: {
                  Codec: "AAC",
                  AacSettings: {
                    AudioDescriptionBroadcasterMix: "NORMAL",
                    RateControlMode: "CBR",
                    CodecProfile: "LC",
                    CodingMode: "CODING_MODE_2_0",
                    RawFormat: "NONE",
                    SampleRate: 48000,
                    Specification: "MPEG4",
                    Bitrate: 64000,
                  },
                },
                LanguageCodeControl: "FOLLOW_INPUT",
                AudioSourceName: "Audio Selector 1",
              },
            ],
            ContainerSettings: {
              Container: "MP4",
              Mp4Settings: {
                CslgAtom: "INCLUDE",
                FreeSpaceBox: "EXCLUDE",
                MoovPlacement: "PROGRESSIVE_DOWNLOAD",
              },
            },
            NameModifier: "_1",
          },
        ],
      },
    ],
    AdAvailOffset: 0,
    Inputs: [
      {
        AudioSelectors: {
          "Audio Selector 1": {
            Offset: 0,
            DefaultSelection: "NOT_DEFAULT",
            ProgramSelection: 1,
            SelectorType: "TRACK",
            Tracks: [1],
          },
        },
        VideoSelector: {
          ColorSpace: "FOLLOW",
        },
        FilterEnable: "AUTO",
        PsiControl: "USE_PSI",
        FilterStrength: 0,
        DeblockFilter: "DISABLED",
        DenoiseFilter: "DISABLED",
        TimecodeSource: "EMBEDDED",
        FileInput: "s3://INPUT_BUCKET_AND_FILE_NAME",
      },
    ],
    TimecodeConfig: {
      Source: "EMBEDDED",
    },
  },
};
```

## Création d'une tâche de transcodage
<a name="emc-examples-jobs-create"></a>

Après avoir créé l'objet JSON des paramètres de tâche, appelez la méthode `createJob` en créant une promesse pour appeler un objet de service `AWS.MediaConvert` et en transmettant les paramètres. Traitez ensuite l'élément response dans le rappel de promesse. L'ID de la tâche créée est renvoyé dans les données `data` de la réponse.

```
// Create a promise on a MediaConvert object
var endpointPromise = new AWS.MediaConvert({ apiVersion: "2017-08-29" })
  .createJob(params)
  .promise();

// Handle promise's fulfilled/rejected status
endpointPromise.then(
  function (data) {
    console.log("Job created! ", data);
  },
  function (err) {
    console.log("Error", err);
  }
);
```

Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.

```
node emc_createjob.js
```

Cet exemple de code se trouve [ici sur GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/mediaconvert/emc_createjob.js).

## Annulation d'une tâche de transcodage
<a name="emc-examples-jobs-cancel"></a>

Créez un module Node.js nommé `emc_canceljob.js`. Veillez à configurer le kit SDK comme indiqué précédemment. Créez l'objet JSON qui inclut l'ID de la tâche à annuler. Appelez ensuite la méthode `cancelJob` en créant une promesse pour appeler un objet de service `AWS.MediaConvert`, en transmettant les paramètres. Traitez la réponse dans le rappel de promesse.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the Region
AWS.config.update({ region: "us-west-2" });
// Set MediaConvert to customer endpoint
AWS.config.mediaconvert = { endpoint: "ACCOUNT_ENDPOINT" };

var params = {
  Id: "JOB_ID" /* required */,
};

// Create a promise on a MediaConvert object
var endpointPromise = new AWS.MediaConvert({ apiVersion: "2017-08-29" })
  .cancelJob(params)
  .promise();

// Handle promise's fulfilled/rejected status
endpointPromise.then(
  function (data) {
    console.log("Job  " + params.Id + " is canceled");
  },
  function (err) {
    console.log("Error", err);
  }
);
```

Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.

```
node ec2_canceljob.js
```

Cet exemple de code se trouve [ici sur GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/mediaconvert/emc_canceljob.js).

## Affichage de la liste des tâches de transcodage récentes
<a name="emc-examples-jobs-listing"></a>

Créez un module Node.js nommé `emc_listjobs.js`. Veillez à configurer le kit SDK comme indiqué précédemment.

Créez l'objet JSON des paramètres, en incluant les valeurs qui spécifient si vous souhaitez trier la liste dans l'ordre `ASCENDING` (croissant) ou `DESCENDING` (décroissant), l'ARN de la file d'attente de tâches à vérifier et le statut des tâches à inclure. Appelez ensuite la méthode `listJobs` en créant une promesse pour appeler un objet de service `AWS.MediaConvert`, en transmettant les paramètres. Traitez la réponse dans le rappel de promesse.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the Region
AWS.config.update({ region: "us-west-2" });
// Set the customer endpoint
AWS.config.mediaconvert = { endpoint: "ACCOUNT_ENDPOINT" };

var params = {
  MaxResults: 10,
  Order: "ASCENDING",
  Queue: "QUEUE_ARN",
  Status: "SUBMITTED",
};

// Create a promise on a MediaConvert object
var endpointPromise = new AWS.MediaConvert({ apiVersion: "2017-08-29" })
  .listJobs(params)
  .promise();

// Handle promise's fulfilled/rejected status
endpointPromise.then(
  function (data) {
    console.log("Jobs: ", data);
  },
  function (err) {
    console.log("Error", err);
  }
);
```

Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.

```
node emc_listjobs.js
```

Cet exemple de code se trouve [ici sur GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/mediaconvert/emc_listjobs.js).