En esta página se explica cómo solucionar problemas con la API Transcoder. Los errores que se muestran en esta página son específicos de la API Transcoder. Para obtener información sobre los errores genéricos de las APIs de Google, consulta la página Errores de las APIs de Cloud.
El servicio informa de los errores mediante el campo error
del recurso de trabajo. Este campo contiene un objeto de tipo google.rpc.Status
.
Este objeto contiene información adicional sobre el error, como el código, el mensaje y los detalles del error.
Solo se devuelve el primer error. Si una tarea tiene varios errores, debes corregir el error devuelto y volver a crear la tarea para ver el siguiente error.
Permiso de Cloud Storage denegado
El siguiente problema se produce cuando la cuenta de servicio de la API Transcoder no tiene permiso de lectura o escritura para la entrada o la salida de una ubicación en 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 solucionar este problema, asegúrate de que la cuenta de servicio creada automáticamente tenga los permisos correctos. Para obtener más información sobre la cuenta de servicio, consulta la sección Acceso a Cloud Storage y Pub/Sub.
Permiso de Pub/Sub denegado
El siguiente problema se produce cuando la cuenta de servicio de la API Transcoder no tiene los permisos adecuados para publicar en un tema de 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 solucionar este problema, asegúrate de que la cuenta de servicio creada automáticamente tenga los permisos correctos. Consulta la sección Acceso a Cloud Storage y Pub/Sub para obtener más información sobre la cuenta de servicio.
Destino de Pub/Sub no válido
El siguiente problema se produce cuando el destino de Pub/Sub es una ruta de recurso de tema de Pub/Sub no válida.
{ "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, compruebe que el tema de Pub/Sub existe y que se ha especificado con el formato correcto. Para obtener más información, consulta Notificaciones de Pub/Sub para las actualizaciones de tareas.
No se ha encontrado la entrada
El siguiente problema se produce cuando no se encuentra el archivo de entrada en 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 solucionar este problema, asegúrate de que el archivo de entrada exista, de que la
inputUri
al archivo sea correcta y de que la cuenta de servicio de la API Transcoder tenga permisos para acceder al archivo. Si el archivo de entrada está en otro proyecto, es posible que tengas que hacer público el segmento de Cloud Storage (consulta la sección Control de acceso de Cloud Storage para obtener más información).
Falta la configuración
El siguiente problema se produce cuando falta un campo de configuración de la tarea.
{ "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 solucionar este problema, comprueba el campo JobConfig
mencionado en el mensaje de error.
Valor de configuración no válido
El siguiente problema se produce cuando la configuración de la tarea contiene un valor no vá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 solucionar este problema, comprueba el campo JobConfig
mencionado en el mensaje de error.
Desfase horario no válido
El siguiente problema se produce cuando el desfase de la hora de inicio o de finalización de la configuración del trabajo no es 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 solucionar este problema, asegúrate de que
endTimeOffset
es mayor que
startTimeOffset
.
Ninguna de las dos debe superar la duración de los archivos de entrada.
Superar los límites de transcodificación
El problema siguiente se produce cuando una entrada o la configuración de entrada supera los límites del servicio.
{ "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 solucionar este problema, asegúrese de que la configuración del trabajo se mantenga dentro de los límites del servicio.
Vídeo no disponible
Este problema se produce cuando no se especifica ninguna emisión de vídeo en la configuración o no se detecta ningún vídeo en el archivo 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 solucionar este problema, compruebe que se haya especificado una secuencia de vídeo en la configuración del trabajo y que el archivo de entrada contenga una secuencia de vídeo.
Falta el audio
El siguiente problema se produce cuando no se especifica ninguna pista de audio en el elemento editList
o cuando no se detecta ninguna pista de audio en el archivo 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 solucionar este problema, compruebe que se haya especificado una pista de audio en la configuración del trabajo y que el archivo de entrada contenga una pista de audio.
Falta texto
El siguiente problema se produce cuando se especifica una secuencia de texto, pero no hay ninguna pista de texto disponible en la lista de edición ni en el archivo 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" } ] }
Si se especifica una pista de texto en la configuración del trabajo, asegúrate de que haya una en editList
y en el archivo de entrada. Consulta un ejemplo de configuración.
Falta una pista o un canal válidos
El siguiente problema se produce cuando la pista o el canal de entrada de una asignación de flujo elemental no hace referencia a una pista o un canal de flujo de audio o texto válidos.
{ "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 solucionar este problema, comprueba el vídeo, el audio o el texto de entrada y la asignación de flujo elemental (consulta ejemplos de asignaciones de flujo).
Entrada no admitida
El problema siguiente se produce cuando el archivo de entrada está dañado o no tiene un formato 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." } } ] }
Para solucionar este problema, compruebe que el archivo de entrada sea válido y tenga un formato compatible.
Entrada con formato incorrecto
El siguiente problema se produce cuando el archivo de entrada tiene un formato incorrecto y no se puede decodificar.
{ "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 solucionar este problema, compruebe que el archivo de entrada sea válido y tenga un formato compatible.
Error interno
El siguiente problema se produce cuando un error de servicio interno impide que el trabajo se complete correctamente.
{ "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 intentar solucionar el problema, haz lo siguiente:
- Comprueba que el archivo de entrada sea válido y esté en un formato compatible.
- Comprueba que el
JobConfig
no tenga errores. - Vuelve a intentar el trabajo en una ubicación diferente.
- Vuelve a intentar ejecutar el trabajo con
optimization
inhabilitado.
Consulta las opciones de asistencia para obtener más ayuda.
Problemas de calidad
Si la calidad del vídeo o del audio del resultado es mala (por ejemplo, si hay artefactos, faltan fotogramas o hay problemas de sincronización de audio y vídeo), puede deberse a las características del archivo de entrada, como un empaquetado o una codificación no estándar. A continuación, te indicamos algunos pasos que puedes seguir para mitigar estos problemas:
- Comprueba que el archivo de entrada sea válido y esté en un formato compatible.
- Comprueba que el
JobConfig
no tenga errores y que use los perfiles de codificación recomendados. - Vuelve a intentar ejecutar el trabajo con
optimization
inhabilitado. - Vuelve a intentar ejecutar el trabajo con
fillContentGaps
configurado comotrue
yframeRateConversion
configurado comoDROP_DUPLICATE
.
Consulta las opciones de asistencia para obtener más ayuda.