

 Das [AWS SDK für JavaScript V3-API-Referenzhandbuch](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/) beschreibt detailliert alle API-Operationen für die AWS SDK für JavaScript Version 3 (V3). 

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Transcodierungsaufträge erstellen und verwalten in MediaConvert
<a name="emc-examples-jobs"></a>

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

**Dieses Node.js-Codebeispiel zeigt:**
+ So erstellen Sie Transcodierungsaufträge in. MediaConvert
+ So stornieren Sie einen Trancodierungsauftrag.
+ So rufen Sie die JSON für einen abgeschlossenen Transcodierungsauftrag ab.
+ So rufen Sie ein JSON-Array für bis zu 20 der zuletzt erstellten Aufträge ab.

## Das Szenario
<a name="emc-examples-jobs-scenario"></a>

In diesem Beispiel verwenden Sie ein Modul Node.js zum Aufrufen, um Transcodierungsaufträge MediaConvert zu erstellen und zu verwalten. Der Code verwendet JavaScript dazu das SDK, indem er die folgenden Methoden der MediaConvert Client-Klasse verwendet:
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-mediaconvert/Class/CreateJobCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-mediaconvert/Class/CreateJobCommand/)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-mediaconvert/Class/CancelJobCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-mediaconvert/Class/CancelJobCommand/)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-mediaconvert/Class/GetJobCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-mediaconvert/Class/GetJobCommand/)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-mediaconvert/Class/ListJobsCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-mediaconvert/Class/ListJobsCommand/)

## Erforderliche Aufgaben
<a name="emc-examples-jobs-prerequisites"></a>

Zum Einrichten und Ausführen dieses Beispiels schließen Sie zunächst diese Aufgaben ab:
+ Richten Sie die Projektumgebung ein, um diese TypeScript Node-Beispiele auszuführen, und installieren Sie die erforderlichen Module AWS SDK für JavaScript und Module von Drittanbietern. Folgen Sie den Anweisungen auf [ GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascriptv3/example_code/mediaconvert/README.md).
+ Erstellen Sie eine freigegebene Konfigurationsdatei mit Ihren Anmeldeinformationen. Weitere Informationen zur Bereitstellung einer Datei mit gemeinsam genutzten Anmeldeinformationen finden Sie unter [Dateien mit gemeinsam genutzten Konfigurationen und Anmeldeinformationen](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html) im *AWS SDKs Referenzhandbuch zu Tools*.
+ Erstellen und konfigurieren Sie Amazon S3 S3-Buckets, die Speicherplatz für Auftragseingabedateien und Ausgabedateien bereitstellen. Einzelheiten finden Sie unter [Speicher für Dateien erstellen](https://docs.aws.amazon.com/mediaconvert/latest/ug/set-up-file-locations.html) im *AWS Elemental MediaConvert Benutzerhandbuch*.
+ Laden Sie das Eingabevideo in den Amazon S3 S3-Bucket hoch, den Sie für den Eingabespeicher bereitgestellt haben. *Eine Liste der unterstützten Eingabe-Videocodecs und Container finden Sie im Benutzerhandbuch unter [Unterstützte Eingabecodecs und Container](https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers-input.html).AWS Elemental MediaConvert *
+ Erstellen Sie eine IAM-Rolle, die MediaConvert Zugriff auf Ihre Eingabedateien und die Amazon S3 S3-Buckets gewährt, in denen Ihre Ausgabedateien gespeichert sind. *Einzelheiten finden Sie unter [Einrichten von IAM-Berechtigungen](https://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html) im AWS Elemental MediaConvert Benutzerhandbuch.*

**Wichtig**  
In diesem Beispiel wird ECMAScript6 (ES6) verwendet. Dies erfordert Node.js Version 13.x oder höher. Informationen zum Herunterladen und Installieren der neuesten Version von Node.js finden Sie unter [Node.js downloads](https://nodejs.org/en/download). .  
Wenn Sie jedoch die CommonJS-Syntax bevorzugen, finden Sie weitere Informationen unter. [JavaScript ES6/CommonJs-Syntax](sdk-example-javascript-syntax.md)

## Definition eines einfachen Transcodierungsauftrags
<a name="emc-examples-jobs-spec"></a>

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `emc_createjob.js`. Stellen Sie sicher, dass Sie das SDK wie zuvor gezeigt konfigurieren, einschließlich der Installation der erforderlichen Clients und Pakete. Erstellen Sie die JSON für die Definition der Transcodierungsauftragsparameter.

Diese Parameter sind sehr detailliert. Sie können die [AWS Elemental MediaConvert Konsole](https://console.aws.amazon.com/mediaconvert/) verwenden, um die JSON-Jobparameter zu generieren, indem Sie Ihre Job-Einstellungen in der Konsole auswählen und dann am Ende des **Job-Abschnitts die Option **Job-JSON** anzeigen** wählen. Dieses Beispiel enthält die JSON für einen einfachen Auftrag.

**Anmerkung**  
*JOB\$1QUEUE\$1ARN*Ersetzen Sie durch die MediaConvert Job-Warteschlange, *IAM\$1ROLE\$1ARN* durch den Amazon-Ressourcennamen (ARN) der IAM-Rolle, *OUTPUT\$1BUCKET\$1NAME* durch den Ziel-Bucket-Namen — zum Beispiel "s3://OUTPUT\$1BUCKET\$1NAME/ „, und *INPUT\$1BUCKET\$1AND\$1FILENAME* durch den Eingabe-Bucket und den Dateinamen — zum Beispiel" s3://INPUT\$1BUCKET/FILE\$1NAME“.

```
const params = {
  Queue: "JOB_QUEUE_ARN", //JOB_QUEUE_ARN
  UserMetadata: {
    Customer: "Amazon",
  },
  Role: "IAM_ROLE_ARN", //IAM_ROLE_ARN
  Settings: {
    OutputGroups: [
      {
        Name: "File Group",
        OutputGroupSettings: {
          Type: "FILE_GROUP_SETTINGS",
          FileGroupSettings: {
            Destination: "OUTPUT_BUCKET_NAME", //OUTPUT_BUCKET_NAME, e.g., "s3://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: "INPUT_BUCKET_AND_FILENAME", //INPUT_BUCKET_AND_FILENAME, e.g., "s3://BUCKET_NAME/FILE_NAME"
      },
    ],
    TimecodeConfig: {
      Source: "EMBEDDED",
    },
  },
};
```

## Einen Transcodierungsauftrag erstellen
<a name="emc-examples-jobs-create"></a>

Rufen Sie nach dem Erstellen der JSON-Jobparameter die asynchrone `run` Methode auf, um ein `MediaConvert` Client-Dienstobjekt aufzurufen, und übergeben Sie dabei die Parameter. Die ID des erstellten Auftrags wird in den `data` der Antwort zurückgegeben.

```
const run = async () => {
  try {
    const data = await emcClient.send(new CreateJobCommand(params));
    console.log("Job created!", data);
    return data;
  } catch (err) {
    console.log("Error", err);
  }
};
run();
```

Um das Beispiel auszuführen, geben Sie an der Befehlszeile Folgendes ein.

```
node emc_createjob.js 
```

Den vollständigen Beispielcode finden Sie [hier unter GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javascriptv3/example_code/mediaconvert/src/emc_createjob.js).

## Abbrechen eines Transcodierungsauftrags
<a name="emc-examples-jobs-cancel"></a>

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `emc_canceljob.js`. Stellen Sie sicher, dass Sie das SDK wie zuvor gezeigt konfigurieren, einschließlich des Herunterladens der erforderlichen Clients und Pakete. Erstellen Sie die JSON, die die ID des zu stornierenden Auftrags enthält. Rufen Sie dann die `CancelJobCommand` Methode auf, indem Sie ein Versprechen zum Aufrufen eines `MediaConvert` Client-Dienstobjekts erstellen und die Parameter übergeben. Verarbeiten Sie die Antwort im Promise-Rückruf.

**Anmerkung**  
*JOB\$1ID*Ersetzen Sie es durch die ID des Jobs, der abgebrochen werden soll.

```
// Import required AWS-SDK clients and commands for Node.js
import { CancelJobCommand } from "@aws-sdk/client-mediaconvert";
import { emcClient } from "./libs/emcClient.js";

// Set the parameters
const params = { Id: "JOB_ID" }; //JOB_ID

const run = async () => {
  try {
    const data = await emcClient.send(new CancelJobCommand(params));
    console.log(`Job  ${params.Id} is canceled`);
    return data;
  } catch (err) {
    console.log("Error", err);
  }
};
run();
```

Um das Beispiel auszuführen, geben Sie in der Befehlszeile Folgendes ein.

```
node ec2_canceljob.js 
```

Dieser Beispielcode finden Sie [hier unter GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javascriptv3/example_code/mediaconvert/src/emc_canceljob.js).

## Liste der letzten Transcodierungsaufträge
<a name="emc-examples-jobs-listing"></a>

Erstellen Sie ein Node.js-Modul mit dem Dateinamen `emc_listjobs.js`. Stellen Sie sicher, dass Sie das SDK wie zuvor gezeigt konfigurieren, einschließlich der Installation der erforderlichen Clients und Pakete.

Erstellen Sie die JSON-Parameter, einschließlich Werten, um anzugeben`ASCENDING`, ob `DESCENDING` die Liste nach dem Amazon-Ressourcennamen (ARN) der zu prüfenden Job-Warteschlange und dem Status der einzuschließenden Jobs sortiert werden soll. Rufen Sie dann die `ListJobsCommand` Methode auf, indem Sie eine Zusage für den Aufruf eines `MediaConvert` Client-Serviceobjekts erstellen und die Parameter übergeben. 

**Anmerkung**  
*QUEUE\$1ARN*Ersetzen Sie durch den Amazon-Ressourcennamen (ARN) der zu prüfenden Auftragswarteschlange und *STATUS* durch den Status der Warteschlange.

```
// Import required AWS-SDK clients and commands for Node.js
import { ListJobsCommand } from "@aws-sdk/client-mediaconvert";
import { emcClient } from "./libs/emcClient.js";

// Set the parameters
const params = {
  MaxResults: 10,
  Order: "ASCENDING",
  Queue: "QUEUE_ARN",
  Status: "SUBMITTED", // e.g., "SUBMITTED"
};

const run = async () => {
  try {
    const data = await emcClient.send(new ListJobsCommand(params));
    console.log("Success. Jobs: ", data.Jobs);
  } catch (err) {
    console.log("Error", err);
  }
};
run();
```

Um das Beispiel auszuführen, geben Sie an der Befehlszeile Folgendes ein.

```
node emc_listjobs.js 
```

Dieser Beispielcode finden Sie [hier unter GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javascriptv3/example_code/mediaconvert/src/emc_listjobs.js).