Esta página mostra como resolver problemas com a API Transcoder. Os erros apresentados nesta página são específicos da API Transcoder. Para informações sobre erros genéricos nas APIs Google, consulte a página Erros das APIs Cloud.
O serviço comunica erros através do campo error
do recurso de tarefa. Este campo contém um objeto do tipo
google.rpc.Status
.
Este objeto contém informações de erro adicionais, incluindo o código de erro, a mensagem de erro e os detalhes do erro.
Apenas é devolvido o primeiro erro. Se uma tarefa encontrar vários erros, tem de corrigir o erro devolvido e recriar a tarefa para ver o erro seguinte.
Acesso ao Cloud Storage recusado
O seguinte problema ocorre quando a conta de serviço da API Transcoder não tem autorização de leitura/escrita para entrada ou saída numa localização no 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." } } }
Para resolver este problema, certifique-se de que a conta de serviço criada automaticamente tem as autorizações corretas. Consulte o artigo Acesso ao Cloud Storage e ao Pub/Sub para mais informações sobre a conta de serviço.
Autorização do Pub/Sub recusada
O seguinte problema ocorre quando a conta de serviço da API Transcoder não tem as autorizações adequadas para publicar num tópico 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." } } }
Para resolver este problema, certifique-se de que a conta de serviço criada automaticamente tem as autorizações corretas. Consulte a secção Acesso ao Cloud Storage e ao Pub/Sub para mais informações sobre a conta de serviço.
Destino do Pub/Sub inválido
O seguinte problema ocorre quando o destino do Pub/Sub é um caminho de recurso de tópico do Pub/Sub inválido.
{ "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" } ] }
Para resolver este problema, certifique-se de que o tópico do Pub/Sub existe e está especificado no formato correto. Consulte o artigo Notificações do Pub/Sub para atualizações de tarefas para mais informações.
Entrada não encontrada
O seguinte problema ocorre quando não é possível encontrar o ficheiro de entrada no 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" } } ] }
Para resolver este problema, certifique-se de que o ficheiro de entrada existe, que o
inputUri
para o ficheiro está correto e que a conta de serviço da API Transcoder tem
autorizações para aceder ao ficheiro. Se o ficheiro de entrada existir num projeto diferente, pode ter de tornar o contentor do Cloud Storage público (consulte o controlo de acesso do Cloud Storage para mais informações).
Configuração em falta
O seguinte problema ocorre quando falta um campo de configuração de tarefas.
{ "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" } ] }
Para resolver este problema, verifique o campo JobConfig
mencionado na mensagem de erro.
Valor de configuração inválido
O seguinte problema ocorre quando a configuração da tarefa contém um valor inválido.
{ "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" } ] }
Para resolver este problema, verifique o campo JobConfig
mencionado na mensagem de erro.
Desvio de tempo inválido
O seguinte problema ocorre quando o desvio da hora de início ou o desvio da hora de fim na configuração da tarefa não é válido.
{ "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" } ] }
Para resolver este problema, certifique-se de que
endTimeOffset
é superior a
startTimeOffset
.
Ambas as compensações não devem exceder a duração dos ficheiros de entrada.
Exceder os limites de transcodificação
O seguinte problema ocorre quando uma entrada ou a configuração de entrada excede os limites do serviço.
{ "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" } ] }
Para resolver este problema, certifique-se de que a configuração da tarefa permanece dentro dos limites do serviço.
Vídeo em falta
O seguinte problema ocorre quando não é especificada nenhuma stream de vídeo na configuração ou não é detetado nenhum vídeo no ficheiro de entrada.
{ "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" } ] }
Para resolver este problema, verifique se foi especificada uma stream de vídeo na configuração da tarefa e se o ficheiro de entrada contém uma stream de vídeo.
Áudio em falta
O seguinte problema ocorre quando não é especificada nenhuma faixa de áudio no elemento editList
ou quando não é detetada nenhuma faixa de áudio no ficheiro de entrada.
{ "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" } ] }
Para resolver este problema, verifique se foi especificada uma faixa de áudio na configuração da tarefa e se o ficheiro de entrada contém uma faixa de áudio.
Texto em falta
O problema seguinte ocorre quando é especificado um fluxo de texto, mas não está disponível nenhuma faixa de texto na lista de edições nem no ficheiro de entrada.
{ "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 for especificada uma faixa de texto na configuração da tarefa, certifique-se de que existe uma no
elemento editList
e no ficheiro de entrada. Veja uma
configuração de exemplo.
Faixa ou canal válido em falta
O problema seguinte ocorre quando a faixa ou o canal de entrada numa associação de streams elementares não se refere a uma faixa ou um canal de stream de áudio/texto válido.
{ "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" ] }
Para resolver este problema, verifique o vídeo/áudio/texto de entrada e o mapeamento de streams elementares (consulte os exemplos de mapeamentos de streams).
Entrada não suportada
O problema seguinte ocorre quando o ficheiro de entrada está danificado ou não está num formato suportado.
{ "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." } } ] }
Para resolver este problema, verifique se o ficheiro de entrada é válido e está num formato suportado.
Entrada com formato incorreto
O problema seguinte ocorre quando o ficheiro de entrada tem um formato incorreto e não pode ser descodificado.
{ "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." } } ] }
Para resolver este problema, verifique se o ficheiro de entrada é válido e está num formato suportado.
Erro interno
O problema seguinte ocorre quando um erro interno do serviço impediu a conclusão com êxito da tarefa.
{ "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" } } ] }
Para tentar resolver o problema, faça o seguinte:
- Verifique se o ficheiro de entrada é válido e está num formato suportado.
- Verifique se o
JobConfig
não tem erros. - Tente novamente o trabalho numa localização diferente.
- Tente novamente a tarefa com a opção
optimization
desativada.
Consulte o artigo Receber apoio técnico para ver mais opções de apoio técnico.
Problemas de qualidade
Se encontrar uma má qualidade de vídeo ou áudio na saída, como artefactos, frames em falta ou problemas de sincronização de áudio/vídeo, tal pode dever-se às características do ficheiro de entrada, como uma embalagem ou uma codificação não padrão. Seguem-se alguns passos que pode seguir para mitigar estes problemas:
- Verifique se o ficheiro de entrada é válido e está num formato suportado.
- Verifique se o
JobConfig
não tem erros e usa os perfis de codificação recomendados. - Tente novamente a tarefa com a opção
optimization
desativada. - Tente novamente a tarefa com
fillContentGaps
definido comotrue
eframeRateConversion
definido comoDROP_DUPLICATE
.
Consulte o artigo Receber apoio técnico para ver mais opções de apoio técnico.