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 di 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 riscontra 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 dispone dell'autorizzazione di lettura/scrittura per l'input o l'output in una località in 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 disponga delle autorizzazioni corrette. Per ulteriori informazioni sull'account di servizio, vedi Accesso 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 disponga delle 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 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 questo problema, assicurati che l'argomento Pub/Sub esista e sia specificato nel formato corretto. Per ulteriori informazioni, consulta Notifiche Pub/Sub per gli aggiornamenti sui job.

Input non trovato

Il seguente problema si verifica quando non è possibile trovare il file di input in 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 questo problema, assicurati che il file di input esista, che l'elemento inputUri del file sia corretto e che l'account di servizio dell'API Transcoder disponga delle autorizzazioni per accedere al file. Se il file di input esiste in un altro progetto, potrebbe essere necessario rendere pubblico il bucket Cloud Storage (per ulteriori informazioni, consulta Controllo dell'accesso di 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 citato 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 citato nel messaggio di errore.

Offset temporale non valido

Il seguente problema si verifica quando la offset temporale di inizio o di fine nella configurazione del job non è valida.

{
   "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 più grande di startTimeOffset. Entrambi gli offset non devono superare la durata dei file di input.

Supera i limiti di transcodifica

Il seguente problema si verifica quando una configurazione di input o di input 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 rimanga entro i limiti di servizio.

Video mancante

Il seguente problema si verifica quando non viene specificato alcun flusso video nella configurazione o quando 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 questo problema, verifica che sia specificato uno stream video nella configurazione del job e che il file di input contenga uno stream video.

Audio mancante

Il seguente problema si verifica quando non viene specificata alcuna traccia audio nel campo editList o 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 una traccia audio sia specificata nella configurazione del job e che il file di input contenga una traccia audio.

Testo mancante

Il seguente problema si verifica quando viene specificato uno 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 viene specificata una traccia di testo, assicurati che ne esista una nel file editList e nel file di input. Vedi una configurazione di esempio.

Traccia valida o canale mancante

Il seguente problema si verifica quando la traccia o il canale di input in una mappatura dello stream elementare non fa riferimento a una traccia o a un canale di stream audio/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 questo problema, controlla i video/audio/testo di input e la mappatura elementare del flusso (vedi mappature degli stream di esempio).

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.

Formato input non valido

Il seguente problema si verifica quando il formato del file di input 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 del servizio interno ha impedito il completamento 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 risolvere il problema, verifica che il file di input sia valido e in un formato supportato. Verifica che JobConfig non presenti errori.

Vedi Ricevere assistenza per ulteriori opzioni di supporto.