Dépannage

Cette page vous explique comment résoudre les problèmes liés à l'API Transcoder. Les erreurs affichées sur cette page sont spécifiques à l'API Transcoder. Pour en savoir plus sur les erreurs génériques dans les API Google, consultez la page Erreurs des API Cloud.

Le service signale les erreurs à l'aide du champ error de la ressource de tâche. Ce champ contient un objet de type google.rpc.Status. Cet objet contient des informations supplémentaires sur les erreurs, dont le code, le message et les détails de l'erreur.

Seule la première erreur est renvoyée. Si une tâche rencontre plusieurs erreurs, vous devez les corriger et recréer la tâche pour afficher l'erreur suivante.

Autorisation Cloud Storage refusée

Le problème suivant se produit lorsque le compte de service de l'API Transcoder ne dispose pas d'autorisations en lecture/écriture pour l'entrée ou la sortie sur un emplacement dans Cloud Storage.

{
   "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."
         }
      }
}

Pour résoudre ce problème, assurez-vous que le compte de service créé automatiquement dispose des autorisations appropriées. Pour en savoir plus sur le compte de service, consultez la section Accès à Cloud Storage et à Pub/Sub.

Autorisation Pub/Sub refusée

Le problème suivant se produit lorsque le compte de service de l'API Transcoder ne dispose pas des autorisations appropriées pour la publication dans un sujet Pub/Sub.

{
   "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."
         }
      }
}

Pour résoudre ce problème, assurez-vous que le compte de service créé automatiquement dispose des autorisations appropriées. Pour en savoir plus sur le compte de service, consultez la section Accès à Cloud Storage et à Pub/Sub.

Destination Pub/Sub non valide

Le problème suivant se produit lorsque la destination Pub/Sub est un chemin de ressource de sujet Pub/Sub non valide.

{
   "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"
      }
   ]
}

Pour résoudre ce problème, assurez-vous que le sujet Pub/Sub existe et est spécifié au bon format. Pour en savoir plus, consultez la section Notifications Pub/Sub pour les mises à jour de tâches.

Entrée introuvable

Le problème suivant se produit lorsque le fichier d'entrée est introuvable dans Cloud Storage.

{
    "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"
        }
      }
    ]
}

Pour résoudre ce problème, assurez-vous que le fichier d'entrée existe, que l'URI d'entrée (inputUri) est correct et que le compte de service de l'API Transcoder est autorisé à accéder au fichier. Si le fichier d'entrée existe dans un autre projet, vous devrez peut-être rendre le bucket Cloud Storage public (consultez la section Contrôle des accès Cloud Storage pour en savoir plus).

Configuration manquante

Le problème suivant se produit lorsqu'un champ de configuration de la tâche est manquant.

{
   "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"
      }
   ]
}

Pour résoudre ce problème, vérifiez le champ JobConfig mentionné dans le message d'erreur.

Valeur de configuration non valide

Le problème suivant se produit lorsque la configuration de la tâche contient une valeur non valide.

{
   "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"
      }
   ]
}

Pour résoudre ce problème, vérifiez le champ JobConfig mentionné dans le message d'erreur.

Décalage temporel non valide

Le problème suivant se produit lorsque le décalage de début ou de fin dans la configuration de la tâche n'est pas valide.

{
   "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"
      }
   ]
}

Pour résoudre ce problème, assurez-vous que endTimeOffset est supérieur à startTimeOffset. Les deux décalages ne doivent pas dépasser la durée des fichiers d'entrée.

Dépassement des limites de transcodage

Le problème suivant se produit lorsqu'une entrée ou la configuration d'entrée dépasse les limites du service.

{
   "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"
      }
   ]
}

Pour résoudre ce problème, assurez-vous que la configuration de la tâche reste dans les limites de service.

Vidéo manquante

Le problème suivant se produit lorsqu'aucun flux vidéo n'est spécifié dans la configuration ou qu'aucune vidéo n'est détectée dans le fichier d'entrée.

{
   "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"
      }
   ]
}

Pour résoudre ce problème, vérifiez qu'un flux vidéo est spécifié dans la configuration de la tâche et que le fichier d'entrée contient un flux vidéo.

Audio manquant

Le problème suivant se produit lorsqu'aucune piste audio n'est spécifiée dans editList ou qu'aucune piste audio n'est détectée dans le fichier d'entrée.

{
   "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"
      }
   ]
}

Pour résoudre ce problème, vérifiez qu'une piste audio est spécifiée dans la configuration de la tâche et que le fichier d'entrée contient une piste audio.

Texte manquant

Le problème suivant se produit lorsqu'un flux de texte est spécifié, mais qu'aucune piste de texte n'est disponible dans la liste d'édition ou dans le fichier d'entrée.

{
   "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"
      }
   ]
}

Si une piste de texte est spécifiée dans la configuration de la tâche, assurez-vous qu'elle existe dans editList et dans le fichier d'entrée. Consultez un exemple de configuration.

Piste ou canal valide manquant

Le problème suivant se produit lorsque la piste ou le canal d'entrée dans un mappage de flux élémentaire ne fait pas référence à une piste ou un canal audio/texte valide.

{
   "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"
   ]
}

Pour résoudre ce problème, vérifiez le mappage vidéo/audio/texte d'entrée et le mappage de flux élémentaire (consultez les exemples de mappages de flux).

Entrée non compatible

Le problème suivant se produit lorsque le fichier d'entrée est corrompu ou n'est pas dans un format compatible.

{
   "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."
        }
      }
    ]
}

Pour résoudre ce problème, vérifiez que le fichier d'entrée est valide et dans un format compatible.

Format d'entrée incorrect

Le problème suivant se produit lorsque le format du fichier d'entrée est incorrect et ne peut pas être décodé.

{
   "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."
        }
      }
    ]
}

Pour résoudre ce problème, vérifiez que le fichier d'entrée est valide et dans un format compatible.

Erreur interne

Le problème suivant se produit lorsqu'une erreur de service interne a empêché la tâche de se terminer correctement.

{
   "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"
         }
      }
   ]
}

Pour essayer de résoudre le problème, procédez comme suit :

  1. Vérifiez que le fichier d'entrée est valide et dans un format compatible.
  2. Vérifiez que le champ JobConfig est exempt d'erreurs.
  3. Réessayez d'exécuter la tâche dans un autre emplacement.
  4. Réessayez d'exécuter la tâche avec optimization désactivé.

Consultez la section Obtenir de l'aide pour d'autres options d'assistance.