Esta página mostra como resolver problemas com a API Transcoder. Os erros mostrados nesta página são específicos da API Transcoder. Para ver informações sobre erros genéricos nas APIs do Google, consulte a página Erros das APIs do Cloud.
O serviço informa erros usando o campo error
do recurso do job. Esse campo contém um objeto do tipo
google.rpc.Status
.
Esse objeto contém informações adicionais do erro, incluindo código, mensagem e detalhes do erro.
Apenas o primeiro erro é retornado. Se houver vários erros em um job, você precisará corrigir o erro retornado e recriar o job para ver o próximo.
Permissão do Cloud Storage negada
O problema a seguir ocorre quando a conta de serviço da API Transcoder não tem permissão de leitura/gravação para entrada ou saída em um local no Cloud Storage.
{ "code":7, # HTTP error code 403 "message":"Permission denied for Google Cloud Storage.", "status":"PERMISSION_DENIED", "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 esse problema, verifique se a conta de serviço criada automaticamente tem as permissões corretas. Consulte Acesso ao Cloud Storage e ao Pub/Sub para mais informações sobre a conta de serviço.
Permissão negada do Pub/Sub
O seguinte problema ocorre quando a conta de serviço da API Transcoder não tem as permissões adequadas para publicar em um tópico do Pub/Sub.
{ "code":7, # HTTP error code 403 "message":"Permission denied for PubSub.", "status":"PERMISSION_DENIED", "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 esse problema, verifique se a conta de serviço criada automaticamente tem as permissões corretas. Consulte a seção Acesso ao Cloud Storage e ao Pub/Sub para mais informações sobre a conta de serviço.
Destino inválido do Pub/Sub
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.", "status":"BAD_REQUEST", "details":[ { "@type":"type.googleapis.com/google.rpc.BadRequest", "field":"config.pubsubDestination.topic", "description":"InvalidPubsubDestination" } ] }
Para resolver esse problema, verifique se o tópico do Pub/Sub existe e está especificado no formato correto. Consulte Notificações do Pub/Sub para atualizações de jobs para mais informações.
Entrada não encontrada
O seguinte problema ocorre quando o arquivo de entrada não é encontrado no Cloud Storage.
{ "code":3, # HTTP error code 400 "message":"gs://input.mp4 does not exist.", "status":"BAD_REQUEST", "details":[ { "@type":"type.googleapis.com/google.rpc.BadRequest", "field":"config.input", "description":"InputNotFound" } ] }
Para resolver esse problema, verifique se o arquivo de entrada existe, se inputUri
está correto e se a conta de serviço da API Transcoder tem permissões para acessar o arquivo. Se o arquivo de entrada existir em um projeto diferente, talvez seja necessário tornar público o bucket do Cloud Storage. Consulte Controle de acesso do Cloud Storage para mais informações.
Configuração ausente
O seguinte problema ocorre quando um campo de configuração de job está ausente.
{ "code":3, # HTTP error code 400 "message":"endTimeOffset of atom atom0 not set.", "status":"BAD_REQUEST", "details":[ { "@type":"type.googleapis.com/google.rpc.BadRequest", "field":"config.editList[0].endTimeOffset", "description":"ConfigurationMissing" } ] }
Para resolver esse problema, verifique o campo JobConfig
mencionado na mensagem de erro.
O valor de configuração é inválido
O seguinte problema ocorre quando a configuração do job 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", "status":"BAD_REQUEST", "details":[ { "@type":"type.googleapis.com/google.rpc.BadRequest", "field":"config.input[1].processingConfig.crop", "description":"InvalidConfigValue" } ] }
Para resolver esse problema, verifique o campo JobConfig
mencionado na mensagem de erro.
Ajuste de tempo inválido
O seguinte problema ocorre quando o ajuste de tempo de início ou de término na configuração do job 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).", "status":"BAD_REQUEST", "details":[ { "@type":"type.googleapis.com/google.rpc.BadRequest", "field":"config.editList[0].startTimeOffset", "description":"InvalidTimeOffset" } ] }
Para resolver esse problema, verifique se
endTimeOffset
é maior que
startTimeOffset
.
Os dois ajustes não podem exceder a duração das entradas ou saídas.
Limites de transcodificação excedidos
O problema a seguir 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.", "status":"BAD_REQUEST", "details":[ { "@type":"type.googleapis.com/google.rpc.BadRequest", "field":"config.editList[0].startTimeOffset", "description":"ExceedTranscodeLimit" } ] }
Para resolver esse problema, verifique se a configuração do job permanece dentro dos limites do serviço.
Vídeo ausente
O seguinte problema ocorre quando nenhum stream de vídeo é especificado na configuração ou nenhum vídeo é detectado no arquivo de entrada.
{ "code":3, # HTTP error code 400 "message":"No video stream found in ffprobe output.", "status":"BAD_REQUEST", "details":[ { "@type":"type.googleapis.com/google.rpc.BadRequest", "field":"config.input", "description":"VideoMissing" } ] }
Para resolver o problema, verifique se um stream de vídeo é especificado na configuração do job e se o arquivo de entrada contém um stream de vídeo.
Não há áudio
O problema a seguir ocorre quando nenhuma faixa de áudio é especificada no
editList
ou quando nenhuma faixa de áudio é detectada no arquivo de entrada.
{ "code":3, # HTTP error code 400 "message":"atom atom0 does not have any inputs (input0) with an audio track.", "status":"BAD_REQUEST", "details":[ { "@type":"type.googleapis.com/google.rpc.BadRequest", "field":"config.editList[0].input[0]", "description":"AudioMissing" } ] }
Para resolver esse problema, verifique se uma faixa de áudio está especificada na configuração do job e se o arquivo de entrada tem uma faixa de áudio.
Texto ausente
O seguinte problema ocorre quando um stream de texto é especificado, mas nenhuma faixa de texto está disponível na lista de edição ou no arquivo de entrada.
{ "code":3, # HTTP error code 400 "message":"atom atom0 does not have any inputs (input0) with a text track.", "status":"BAD_REQUEST", "details":[ { "@type":"type.googleapis.com/google.rpc.BadRequest", "field":"config.editList[0].input[0]", "description":"TextMissing" } ] }
Se uma faixa de texto for especificada na configuração do job, verifique se existe uma no editList
e no arquivo de entrada. Veja um exemplo de configuração.
Não foi possível encontrar uma faixa ou um canal válido
O seguinte problema ocorre quando a faixa ou o canal de entrada em um mapeamento de stream primário não se refere a uma faixa ou 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.", "status":"BAD_REQUEST", "details":[ "@type":"type.googleapis.com/google.rpc.BadRequest", "field":"config.elementaryStreams[0].mapping[0].channels[0].inputs[0].track", "description":"ValidTrackOrChannelMissing" ] }
Para resolver esse problema, verifique o vídeo/áudio/texto de entrada e o mapeamento de stream primário. Consulte exemplos de mapeamentos de stream.
Entrada incompatível
O seguinte problema ocorre quando o arquivo de entrada está corrompido ou não está em um formato compatível.
{ "code":3, # HTTP error code 400 "message":"Input files are not supported", "status":"BAD_REQUEST", "details":[ { "@type":"type.googleapis.com/google.rpc.BadRequest", "field":"config.inputs", "description":"UnsupportedInput", } ] }
Para resolver esse problema, verifique se o arquivo de entrada é válido e está em um formato compatível.
Entrada incorreta
O seguinte problema ocorre quando o arquivo de entrada está incorreto e não pode ser decodificado.
{ "code":3, # HTTP error code 400 "message":"Input is malformed and cannot be decoded.", "status":"BAD_REQUEST", "details":[ { "@type":"type.googleapis.com/google.rpc.BadRequest", "field":"config.inputs", "description":"MalformattedInput", } ] }
Para resolver esse problema, verifique se o arquivo de entrada é válido e está em um formato compatível.
Erro interno
O seguinte problema ocorre quando um erro de serviço interno impediu a conclusão do job.
{ "code":14, # HTTP error code 500 "message":"InternalError", "status":"INTERNAL", "details":[ { "@type":"type.googleapis.com/google.rpc.ErrorInfo", "reason":"InternalError", "domain":"transcoder.googleapis.com", "metadata":{ "details":"Failed to transcode job" } } ] }
Para resolver esse problema, verifique se o arquivo de entrada é válido e está em um formato compatível.
Verifique se JobConfig
está
livre de erros.
Consulte Como receber suporte para mais opções de suporte.