Risoluzione dei problemi

Questa pagina mostra come risolvere i problemi relativi all'API Transcoder. Gli errori mostrati in questa pagina sono specifici dell'API Transcoder. Per informazioni sugli errori generici nelle API Google, consulta la pagina Errori delle API Cloud.

Il servizio segnala gli errori utilizzando il campo error della risorsa job. Questo campo contiene un oggetto di tipo google.rpc.Status. Questo oggetto contiene informazioni aggiuntive sull'errore, tra cui il codice, il messaggio e i dettagli dell'errore.

Viene restituito solo il primo errore. Se un job rileva più errori, devi correggere l'errore restituito e ricreare il job per visualizzare l'errore successivo.

Autorizzazione Cloud Storage negata

Il seguente problema si verifica quando l'account di servizio dell'API Transcoder non ha l'autorizzazione di lettura/scrittura per l'input o l'output in una posizione di 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."
         }
      }
}

Per risolvere il problema, assicurati che l'account di servizio creato automaticamente abbia le autorizzazioni corrette. Per ulteriori informazioni sull'account di servizio, consulta Accedere a Cloud Storage e Pub/Sub.

Autorizzazione Pub/Sub negata

Il seguente problema si verifica quando l'account di servizio dell'API Transcoder non dispone delle autorizzazioni appropriate per la pubblicazione in un argomento 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."
         }
      }
}

Per risolvere il problema, assicurati che l'account di servizio creato automaticamente abbia le autorizzazioni corrette. Per ulteriori informazioni sull'account di servizio, consulta la sezione Accesso a Cloud Storage e Pub/Sub.

Destinazione Pub/Sub non valida

Il seguente problema si verifica quando la destinazione Pub/Sub è un percorso della risorsa dell'argomento Pub/Sub non valido.

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

Per risolvere il problema, assicurati che l'argomento Pub/Sub esista e sia specificato nel formato corretto. Per ulteriori informazioni, consulta la sezione Notifiche Pub/Sub per aggiornamenti sui job.

Input non trovato

Il seguente problema si verifica quando non è possibile trovare il file di input su 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"
        }
      }
    ]
}

Per risolvere il problema, assicurati che il file di input esista, che il inputUri al file sia corretto e che l'account di servizio dell'API Transcoder abbia le autorizzazioni per accedere al file. Se il file di input esiste in un progetto diverso, potrebbe essere necessario rendere pubblico il bucket Cloud Storage (per ulteriori informazioni, consulta Controllo dell'accesso in Cloud Storage).

Configurazione mancante

Il seguente problema si verifica quando manca un campo di configurazione del job.

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

Per risolvere il problema, controlla il campo JobConfig indicato nel messaggio di errore.

Valore di configurazione non valido

Il seguente problema si verifica quando la configurazione del job contiene un valore non valido.

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

Per risolvere il problema, controlla il campo JobConfig indicato nel messaggio di errore.

Offset temporale non valido

Il seguente problema si verifica quando l'offset temporale dell'ora di inizio o dell'ora di fine nella configurazione del job non è valido.

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

Per risolvere il problema, assicurati che endTimeOffset sia maggiore di startTimeOffset. Entrambi gli offset non devono superare la durata dei file di input.

Superare i limiti di transcodifica

Il seguente problema si verifica quando un input o la relativa configurazione supera i limiti per il servizio.

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

Per risolvere il problema, assicurati che la configurazione del job rientri nei limiti di servizio.

Video mancante

Il seguente problema si verifica quando non viene specificato alcun stream video nella configurazione o non viene rilevato alcun video nel file di input.

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

Per risolvere il problema, verifica che nella configurazione del job sia specificato uno stream video e che il file di input contenga uno stream video.

Audio mancante

Il seguente problema si verifica quando non viene specificata alcuna traccia audio in editList o se non viene rilevata alcuna traccia audio nel file di input.

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

Per risolvere il problema, verifica che nella configurazione del job sia specificata una traccia audio e che il file di input contenga una traccia audio.

Testo mancante

Il seguente problema si verifica quando viene specificato un stream di testo, ma non è disponibile alcuna traccia di testo nell'elenco di modifica o nel file di input.

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

Se nella configurazione del job è specificato un canale di testo, assicurati che esista nel file editList e nel file di input. Consulta un esempio di configurazione.

Manca un canale o una traccia validi

Il seguente problema si verifica quando la traccia o il canale di input in una mappatura di stream di base non fa riferimento a una traccia o a un canale di stream audio/di testo valido.

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

Per risolvere il problema, controlla l'input video/audio/testo e la mappatura dello stream elementare (vedi esempi di mappature dello stream).

Input non supportato

Il seguente problema si verifica quando il file di input è danneggiato o non è in un formato supportato.

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

Per risolvere il problema, verifica che il file di input sia valido e in un formato supportato.

Input con formato non valido

Il seguente problema si verifica quando il file di input ha un formato non valido e non può essere decodificato.

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

Per risolvere il problema, verifica che il file di input sia valido e in un formato supportato.

Errore interno

Il seguente problema si verifica quando un errore di servizio interno ha impedito il completamento corretto del job.

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

Per provare a risolvere il problema:

  1. Verifica che il file di input sia valido e in un formato supportato.
  2. Verifica che JobConfig sia esente da errori.
  3. Riprova il job in una posizione diversa.
  4. Riprova il job con optimization disattivato.

Per altre opzioni di assistenza, consulta la pagina Ricevere assistenza.