En esta página, se muestra cómo resolver problemas con la API de Transcoder. Los errores que se muestran en esta página son específicos de la API de Transcoder. Para obtener información sobre los errores genéricos en las APIs de Google, consulta la página Errores de las API de Cloud.
El servicio informa errores con 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 un trabajo encuentra varios errores, debes corregir el error que se devolvió y volver a crear el trabajo para ver el siguiente error.
Se denegó el permiso de Cloud Storage
El siguiente problema ocurre cuando la cuenta de servicio de la API de Transcoder no tiene permiso de lectura o escritura para la entrada o salida en una ubicación de 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, asegúrate de que la cuenta de servicio creada automáticamente tenga los permisos correctos. Consulta Acceso a Cloud Storage y Pub/Sub para obtener más información sobre la cuenta de servicio.
Se denegó el permiso de Pub/Sub
El siguiente problema se produce cuando la cuenta de servicio de la API de 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 resolver 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 acceso 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, asegúrate de que el tema de Pub/Sub exista y se especifique en el formato correcto. Consulta Notificaciones de Pub/Sub para actualizaciones de trabajos para obtener más información.
No se encontró la entrada
El siguiente problema se produce cuando no se puede encontrar 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 resolver este problema, asegúrate de que el archivo de entrada exista, de que la ruta de acceso inputUri
al archivo sea correcta y de que la cuenta de servicio de la API de Transcoder tenga permisos para acceder al archivo. Si el archivo de entrada existe en otro proyecto, es posible que debas hacer público el bucket de Cloud Storage (consulta el control de acceso de Cloud Storage para obtener más información).
Falta la configuración
El siguiente problema ocurre cuando falta un campo de configuración del trabajo.
{ "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, verifica el campo JobConfig
que se menciona en el mensaje de error.
El valor de configuración no es válido
El siguiente problema ocurre cuando la configuración del trabajo 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 resolver este problema, verifica el campo JobConfig
que se menciona en el mensaje de error.
Compensación de tiempo no válido
El siguiente problema se produce cuando el compensación de tiempo de inicio o el compensación de tiempo de finalización en la configuración del trabajo no son válidos.
{ "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, asegúrate de que endTimeOffset
sea mayor que startTimeOffset
.
Ninguno de los dos desplazamientos debe superar la duración de los archivos de entrada.
Superar los límites de transcodificación
El siguiente problema ocurre cuando una entrada o la configuración de entrada superan 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 resolver este problema, asegúrate de que la configuración del trabajo se mantenga dentro de los límites del servicio.
Falta el video
El siguiente problema se produce cuando no se especifica ninguna transmisión de video por Internet en la configuración o no se detecta ningún video 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 resolver este problema, verifica que se haya especificado una transmisión de video por Internet en la configuración del trabajo y que el archivo de entrada contenga una transmisión de video por Internet.
Falta el audio
El siguiente problema se produce cuando no se especifica ninguna pista de audio en 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 resolver este problema, verifica 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 transmisión de texto, pero no hay pistas de texto disponibles 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 un segmento de texto en la configuración del trabajo, asegúrate de que exista uno en editList
y en el archivo de entrada. Consulta un ejemplo de configuración.
Falta un canal o un segmento válido
El siguiente problema se produce cuando el canal o la pista de entrada en una asignación de flujo elemental no hace referencia a un canal o una pista 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 resolver este problema, verifica el video, el audio o el texto de entrada, y la asignación de transmisiones elementales (consulta ejemplos de asignaciones de transmisiones).
Entrada no admitida
El siguiente problema 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 resolver este problema, verifica que el archivo de entrada sea válido y tenga un formato compatible.
Entrada con errores de formato
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 resolver este problema, verifica que el archivo de entrada sea válido y tenga un formato compatible.
Error interno
El siguiente problema ocurre cuando un error interno del servicio impidió que el trabajo se completara 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 resolver el problema, haz lo siguiente:
- Verifica que el archivo de entrada sea válido y tenga un formato compatible.
- Verifica que
JobConfig
no tenga errores. - Vuelve a intentar el trabajo en una ubicación diferente.
- Vuelve a intentar el trabajo con
optimization
inhabilitado.
Consulta Obtén asistencia para conocer otras opciones de asistencia.
Problemas de calidad
Si detectas una mala calidad de audio o video en el resultado, como artefactos, fotogramas faltantes o problemas de sincronización de audio y video, es posible que se deba a las características del archivo de entrada, como un empaquetado o una codificación no estándar. Estos son algunos pasos que puedes seguir para mitigar estos problemas:
- Verifica que el archivo de entrada sea válido y tenga un formato compatible.
- Comprueba que el
JobConfig
no tenga errores y que use los perfiles de codificación recomendados. - Vuelve a intentar el trabajo con
optimization
inhabilitado. - Vuelve a intentar el trabajo con
fillContentGaps
establecido entrue
yframeRateConversion
establecido enDROP_DUPLICATE
.
Consulta Obtén asistencia para conocer otras opciones de asistencia.