本页介绍如何解决 Transcoder API 的问题。本页显示的错误特定于 Transcoder API。如需了解各种 Google API 中的一般性错误,请参阅 Cloud API 错误页面。
该服务使用作业资源的 error
字段报告错误。该字段包含一个 google.rpc.Status
类型的对象。此对象包含其他错误信息,包括错误代码、错误消息和错误详细信息。
仅返回第一个错误。如果作业遇到多个错误,您需要修复返回的错误并重新创建作业以查看下一个错误。
Cloud Storage 权限被拒绝
如果 Transcoder API 服务账号没有对 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." } } }
如需解决此问题,请确保自动创建的服务账号具有正确的权限。如需详细了解服务账号,请参阅访问 Cloud Storage 和 Pub/Sub。
Pub/Sub 权限被拒绝
当 Transcoder API 服务账号没有适当的权限发布到 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." } } }
如需解决此问题,请确保自动创建的服务账号具有正确的权限。如需详细了解服务账号,请参阅访问 Cloud Storage 和 Pub/Sub。
Pub/Sub 目标无效
当 Pub/Sub 目标是无效的 Pub/Sub 主题资源路径时,会发生以下问题。
{ "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" } ] }
如需解决此问题,请确保 Pub/Sub 主题存在且以正确的格式指定。如需了解详情,请参阅作业更新的 Pub/Sub 通知。
找不到输入
如果在 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" } } ] }
如需解决此问题,请确保输入文件存在,该文件的 inputUri
正确无误,并且 Transcoder API 服务账号有权访问文件。如果输入文件位于其他项目中,则可能需要公开 Cloud Storage 存储分区(如需了解详情,请参阅 Cloud Storage 访问权限控制)。
配置缺失
如果缺少作业配置字段,则会出现以下问题。
{ "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" } ] }
如需解决此问题,请检查错误消息中提到的 JobConfig
字段。
配置值无效
当作业配置包含无效值时,会出现以下问题。
{ "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" } ] }
如需解决此问题,请检查错误消息中提到的 JobConfig
字段。
时间偏移无效
当作业配置中的开始时间偏移或结束时间偏移无效时,会出现以下问题。
{ "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" } ] }
如需解决此问题,请确保 endTimeOffset
大于 startTimeOffset
。两个偏移量不得超过输入文件的持续时间。
超出转码限制
当输入或输入配置超出服务的限制时,会出现以下问题。
{ "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" } ] }
要解决此问题,请确保作业配置保持在服务限制范围内。
缺少视频
如果在配置中未指定视频流或未在输入文件中检测到任何视频,则会出现以下问题。
{ "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" } ] }
要解决此问题,请检查作业配置中指定了视频流,并且输入文件包含视频流。
缺少音频
如果在 editList
中未指定音轨或未在输入文件中检测到音轨,则会出现以下问题。
{ "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" } ] }
如需解决此问题,请检查作业配置中是否指定了音轨,以及输入文件是否包含音轨。
缺少文字
如果指定了文本流,但修改列表中或输入文件中没有可用的文本轨道,则会发生以下问题。
{ "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" } ] }
如果在作业配置中指定了文本轨道,请确保 editList
和输入文件中已存在该文本轨道。请参阅示例配置。
缺少有效的轨道或频道
当基本流映射中的输入轨道或通道未引用有效的音频/文本流轨道或通道时,会出现以下问题。
{ "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" ] }
要解决此问题,请检查输入视频/音频/文本和基本流映射(请参阅流映射示例)。
输入不受支持
如果输入文件损坏或不是采用支持的格式,会出现以下问题。
{ "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." } } ] }
如需解决此问题,请检查输入文件是否有效以及是否为支持的格式。
输入格式不正确
如果输入文件格式不正确,且无法解码,就会出现以下问题。
{ "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." } } ] }
如需解决此问题,请检查输入文件是否有效以及是否为支持的格式。
内部错误
当内部服务错误阻止作业成功完成时,会发生以下问题。
{ "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" } } ] }
如需尝试解决此问题,请执行以下操作:
- 检查输入文件是否有效以及是否为支持的格式。
- 检查
JobConfig
是否存在错误。 - 请在其他位置重试作业。
- 停用
optimization
后重试作业。
如需了解更多支持选项,请参阅获取支持。