Fehlerbehebung

Auf dieser Seite erfahren Sie, wie Sie Probleme mit der Transcoder API beheben. Die auf dieser Seite angezeigten Fehler gelten speziell für die Transcoder API. Informationen zu generischen Fehlern in Google APIs finden Sie auf der Seite Cloud APIs – Fehler.

Der Dienst meldet Fehler mithilfe des Felds error der Jobressource. Dieses Feld enthält ein Objekt vom Typ google.rpc.Status. Dieses Objekt enthält zusätzliche Fehlerinformationen, u. a. den Fehlercode, die Fehlermeldung und die Fehlerdetails.

Es wird nur der erste Fehler zurückgegeben. Wenn bei einem Job mehrere Fehler auftreten, müssen Sie den zurückgegebenen Fehler beheben und den Job neu erstellen, um den nächsten Fehler zu sehen.

Cloud Storage-Berechtigung verweigert

Das folgende Problem tritt auf, wenn das Transcoder API-Dienstkonto keine Lese-/Schreibberechtigungen für die Eingabe oder Ausgabe an einem Speicherort in Cloud Storage hat.

{
   "code":7, # HTTP error code 403
   "message":"Permission denied for Google Cloud Storage.",
   "details":[
      {
         "@type":"type.googleapis.com/google.rpc.ErrorInfo",
         "reason":"GCSPermissionDenied",
         "domain":"transcoder.googleapis.com",
         "metadata":{
           "details":"my_service_account@my_project.iam.gserviceaccount.com does
             not have storage.objects.get access to gs://example/input/video.mp4."
         }
      }
}

Achten Sie zur Behebung dieses Problems darauf, dass das automatisch erstellte Dienstkonto die richtigen Berechtigungen hat. Weitere Informationen zum Dienstkonto finden Sie unter Zugriff auf Cloud Storage und Pub/Sub.

Pub/Sub-Berechtigung verweigert

Das folgende Problem tritt auf, wenn das Transcoder API-Dienstkonto nicht die richtigen Berechtigungen zum Veröffentlichen in einem Pub/Sub-Thema hat.

{
   "code":7, # HTTP error code 403
   "message":"Permission denied for PubSub.",
   "details":[
      {
         "@type":"type.googleapis.com/google.rpc.ErrorInfo",
         "reason":"PubSubPermissionDenied",
         "domain":"transcoder.googleapis.com",
         "metadata":{
           "details":"my_service_account@my_project.iam.gserviceaccount.com does not
             have pubsub.topic.publish access to /projects/test-project/topic/test-topic."
         }
      }
}

Achten Sie zur Behebung dieses Problems darauf, dass das automatisch erstellte Dienstkonto die erforderlichen Berechtigungen hat. Weitere Informationen zum Dienstkonto finden Sie unter Zugriff auf Cloud Storage und Pub/Sub.

Ungültiges Pub/Sub-Ziel

Das folgende Problem tritt auf, wenn das Pub/Sub-Ziel ein ungültiger Ressourcenpfad des Pub/Sub-Themas ist.

{
   "code":3, # HTTP error code 400
   "message":"No video stream found in ffprobe output.",
   "details":[
      {
         "@type":"type.googleapis.com/google.rpc.BadRequest",
         "field":"config.pubsubDestination.topic",
         "description":"InvalidPubsubDestination"
      }
   ]
}

Achten Sie zur Behebung dieses Problems darauf, dass das Pub/Sub-Thema vorhanden und im richtigen Format angegeben ist. Weitere Informationen finden Sie unter Pub/Sub-Benachrichtigungen für Jobaktualisierungen.

Eingabe nicht gefunden

Das folgende Problem tritt auf, wenn die Eingabedatei nicht in Cloud Storage gefunden wird.

{
    "code": 5, # HTTP error code 404
    "message": "No such object: my-bucket/input.mp4",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.ErrorInfo",
        "reason": "InputNotFound",
        "domain": "transcoder.googleapis.com",
        "metadata": {
          "details": "No such object:  my-bucket/input.mp4"
        }
      }
    ]
}

Zur Behebung dieses Problems müssen Sie prüfen, ob die Eingabedatei vorhanden ist, der inputUri der Datei korrekt ist und das Transcoder API-Dienstkonto Zugriffsberechtigung für die Datei hat. Wenn die Eingabedatei in einem anderen Projekt vorhanden ist, müssen Sie möglicherweise den Cloud Storage-Bucket veröffentlichen. Weitere Informationen finden Sie unter Zugriffssteuerung in Cloud Storage.

Konfiguration fehlt

Das folgende Problem tritt auf, wenn ein Jobkonfigurationsfeld fehlt.

{
   "code":3, # HTTP error code 400
   "message":"endTimeOffset of atom atom0 not set.",
   "details":[
      {
         "@type":"type.googleapis.com/google.rpc.BadRequest",
         "field":"config.editList[0].endTimeOffset",
         "description":"ConfigurationMissing"
      }
   ]
}

Zur Behebung dieses Problems müssen Sie das in der Fehlermeldung erwähnte Feld JobConfig prüfen.

Ungültiger Konfigurationswert

Das folgende Problem tritt auf, wenn die Jobkonfiguration einen ungültigen Wert enthält.

{
   "code":3, # HTTP error code 400
   "message":"config.inputs[1].preprocessingConfig.crop is invalid, the input (input0)
     to have a video track with width and height",
   "details":[
      {
         "@type":"type.googleapis.com/google.rpc.BadRequest",
         "field":"config.input[1].processingConfig.crop",
         "description":"InvalidConfigValue"
      }
   ]
}

Zur Behebung dieses Problems müssen Sie das in der Fehlermeldung erwähnte Feld JobConfig prüfen.

Ungültiger zeitlicher Versatz

Das folgende Problem tritt auf, wenn der Versatz der Start- oder Endzeit in der Jobkonfiguration ungültig ist.

{
   "code":3, # HTTP error code 400
   "message":"Request field config.editList[0].startTimeOffset is 200s, expected
     start time less than the minimum duration of all inputs for this atom (198.86s).",
   "details":[
      {
         "@type":"type.googleapis.com/google.rpc.BadRequest",
         "field":"config.editList[0].startTimeOffset",
         "description":"InvalidTimeOffset"
      }
   ]
}

Achten Sie zur Behebung dieses Problems darauf, dass endTimeOffset größer als startTimeOffset ist. Beide Offsets dürfen die Dauer der Eingabedateien nicht überschreiten.

Transcodierungslimits überschreiten

Das folgende Problem tritt auf, wenn eine Eingabe oder die Eingabekonfiguration die Limits für den Dienst überschreitet.

{
   "code":3, # HTTP error code 400
   "message":"at most 400 GB input.",
   "details":[
      {
         "@type":"type.googleapis.com/google.rpc.BadRequest",
         "field":"config.editList[0].startTimeOffset",
         "description":"ExceedTranscodeLimit"
      }
   ]
}

Achten Sie zur Behebung dieses Problems darauf, dass die Jobkonfiguration innerhalb der Dienstlimits verbleibt.

Video fehlt

Das folgende Problem tritt auf, wenn in der Konfiguration kein Videostream angegeben oder in der Eingabedatei kein Video erkannt wurde.

{
   "code":3, # HTTP error code 400
   "message":"No video stream found in ffprobe output.",
   "details":[
      {
         "@type":"type.googleapis.com/google.rpc.BadRequest",
         "field":"config.input",
         "description":"VideoMissing"
      }
   ]
}

Prüfen Sie zur Behebung dieses Problems, ob in der Jobkonfiguration ein Videostream angegeben wurde und die Eingabedatei einen Videostream enthält.

Audio fehlt

Das folgende Problem tritt auf, wenn in der editList kein Audiotrack angegeben oder in der Eingabedatei kein Audiotrack erkannt wird.

{
   "code":3, # HTTP error code 400
   "message":"atom atom0 does not have any inputs (input0) with an audio track.",
   "details":[
      {
         "@type":"type.googleapis.com/google.rpc.BadRequest",
         "field":"config.editList[0].input[0]",
         "description":"AudioMissing"
      }
   ]
}

Prüfen Sie zur Behebung dieses Problems, ob in der Jobkonfiguration ein Audiotrack angegeben ist und die Eingabedatei einen Audiotrack enthält.

Text fehlt

Das folgende Problem tritt auf, wenn ein Textstream angegeben ist, aber in der Bearbeitungsliste oder in der Eingabedatei kein Texttrack verfügbar ist.

{
   "code":3, # HTTP error code 400
   "message":"atom atom0 does not have any inputs (input0) with a text track.",
   "details":[
      {
         "@type":"type.googleapis.com/google.rpc.BadRequest",
         "field":"config.editList[0].input[0]",
         "description":"TextMissing"
      }
   ]
}

Wenn in der Jobkonfiguration ein Texttrack angegeben ist, muss dieser in der Datei editList und in der Eingabedatei vorhanden sein. Siehe Beispielkonfiguration.

Gültiger Track oder Kanal fehlt

Das folgende Problem tritt auf, wenn sich der Eingabetrack oder -kanal in einer Elemetarstreamzuordnung nicht auf einen gültigen Audio-/Textstream-Track oder -kanal bezieht.

{
   "code":3, # HTTP error code 400
   "message":"Request field config.elementaryStreams[0].mapping[0].channels[0].inputs[0].track
     is 2, no valid audio track available, expected an index to a valid audio track in input
     input0.",
   "details":[
         "@type":"type.googleapis.com/google.rpc.BadRequest",
         "field":"config.elementaryStreams[0].mapping[0].channels[0].inputs[0].track",
         "description":"ValidTrackOrChannelMissing"
   ]
}

Prüfen Sie zur Behebung dieses Problems das Eingabevideo/Audio/den Text und die Elemetarstreamzuordnung (siehe Beispielstreamzuordnungen).

Nicht unterstützte Eingabe

Das folgende Problem tritt auf, wenn die Eingabedatei beschädigt ist oder nicht in einem unterstützten Format vorliegt.

{
   "code":3, # HTTP error code 400
   "message":"Input files are not supported",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.ErrorInfo",
        "reason": "UnsupportedInput",
        "domain": "transcoder.googleapis.com",
        "metadata": {
          "details": "Input is not supported. Input key = example_key, input uri = gs://example/input/video.mp4."
        }
      }
    ]
}

Prüfen Sie zur Behebung dieses Problems, ob die Eingabedatei gültig ist und in einem unterstützten Format vorliegt.

Falsch formatierte Eingabe

Das folgende Problem tritt auf, wenn die Eingabedatei fehlerhaft ist und nicht decodiert werden kann.

{
   "code":3, # HTTP error code 400
   "message":"Input is malformed and cannot be decoded.",
   "details": [
      {
        "@type": "type.googleapis.com/google.rpc.ErrorInfo",
        "reason": "MalformattedInput",
        "domain": "transcoder.googleapis.com",
        "metadata": {
          "details": "Input is malformed. Input key = example_key, input uri = gs://example/input/video.mp4."
        }
      }
    ]
}

Prüfen Sie zur Behebung dieses Problems, ob die Eingabedatei gültig ist und in einem unterstützten Format vorliegt.

Interner Fehler

Das folgende Problem tritt auf, wenn der interne Dienstfehler verhindert hat, dass der Job erfolgreich abgeschlossen wurde.

{
   "code":13, # HTTP error code 500
   "message":"InternalError",
   "details":[
      {
         "@type":"type.googleapis.com/google.rpc.ErrorInfo",
         "reason":"InternalError",
         "domain":"transcoder.googleapis.com",
         "metadata":{
            "details":"Failed to transcode job"
         }
      }
   ]
}

So können Sie das Problem beheben:

  1. Prüfen Sie, ob die Eingabedatei gültig und in einem unterstützten Format.
  2. Prüfen Sie, ob JobConfig frei von Fehlern.
  3. Wiederholen Sie den Job an einem anderen Standort.
  4. Wiederholen Sie den Job, nachdem Sie optimization deaktiviert haben.

Weitere Supportoptionen finden Sie unter Support erhalten.