【问题标题】:WebM Spritesheet/Transcode from canonical config failed in google cloud来自规范配置的 WebM Spritesheet/转码在谷歌云中失败
【发布时间】:2021-10-24 02:49:14
【问题描述】:

WebM Spritesheet/Transcode from canonical config 未能完成并显示错误消息:请求字段 config.editList[0].startTimeOffset 为 0s,预期开始时间小于此原子的所有输入的最短持续时间 (0s)。

使用的配置来自https://cloud.google.com/transcoder/docs/how-to/generate-spritesheet#generate_image_periodically

项目编号:PROJECT-NUMBER

工作 ID:projects/PROJECT-NUMBER/locations/us-central1/jobs/JOB-ID

位置:us-central1

工作配置

{
  "name": "projects/PROJECT-NUMBER/locations/us-central1/jobs/JOB-ID",
  "config": {
    "inputs": [
      {
        "key": "input0",
        "uri": "gs://input_video.webm"
      }
    ],
    "editList": [
      {
        "key": "atom0",
        "inputs": [
          "input0"
        ],
        "startTimeOffset": "0s"
      }
    ],
    "elementaryStreams": [
      {
        "videoStream": {
          "codec": "h264",
          "profile": "high",
          "preset": "veryfast",
          "heightPixels": 360,
          "widthPixels": 640,
          "pixelFormat": "yuv420p",
          "bitrateBps": 550000,
          "rateControlMode": "vbr",
          "crfLevel": 21,
          "vbvSizeBits": 550000,
          "vbvFullnessBits": 495000,
          "gopDuration": "3s",
          "entropyCoder": "cabac",
          "frameRate": 60
        },
        "key": "video-stream0"
      },
      {
        "audioStream": {
          "codec": "aac",
          "bitrateBps": 64000,
          "channelCount": 2,
          "channelLayout": [
            "fl",
            "fr"
          ],
          "sampleRateHertz": 48000
        },
        "key": "audio-stream0"
      }
    ],
    "muxStreams": [
      {
        "key": "sd",
        "fileName": "sd.mp4",
        "container": "mp4",
        "elementaryStreams": [
          "video-stream0",
          "audio-stream0"
        ]
      }
    ],
    "output": {
      "uri": "gs://output/"
    },
    "spriteSheets": [
      {
        "format": "jpeg",
        "filePrefix": "small-sprite-sheet",
        "spriteWidthPixels": 64,
        "spriteHeightPixels": 32,
        "startTimeOffset": "0s",
        "interval": "7s",
        "quality": 100
      },
      {
        "format": "jpeg",
        "filePrefix": "large-sprite-sheet",
        "spriteWidthPixels": 128,
        "spriteHeightPixels": 72,
        "startTimeOffset": "0s",
        "interval": "7s",
        "quality": 100
      }
    ]
  },
  "state": "FAILED",
  "failureReason": "Job validation failed: Request field config.editList[0].startTimeOffset is 0s, expected start time less than the minimum duration of all inputs for this atom (0s).",
  "ttlAfterCompletionDays": 30
}

【问题讨论】:

    标签: google-cloud-transcoder


    【解决方案1】:

    看起来我们为输入计算的持续时间是 0 秒。所以要么输入为空,要么我们无法计算输入的持续时间。你知道是不是前者吗?对于后者,如果客户在他们的 editList 中提供了一个 endTimeOffset,那么我们应该使用该持续时间,这样可以克服这个验证错误。

    完全错过了评论#1 中的输入链接,对此深表歉意!所以当我在输入上运行 ffprobe 时,我得到了

      Metadata:
        encoder         : Chrome
      Duration: N/A, start: 0.000000, bitrate: N/A
      Stream #0:0(eng): Audio: opus, 48000 Hz, mono, fltp (default)
      Stream #0:1(eng): Video: h264 (Baseline), yuv420p(progressive), 640x480 [SAR 1:1 DAR 4:3], 29.97 fps, 29.97 tbr, 1k tbn, 2k tbc (default)
    

    我们确实生成了 editList,但在这种情况下,我们无法从输入中获得有效的持续时间。我的猜测是,这以前是有效的,因为使用的输入包含计时元数据,但我可以帮助确认您是否有来自成功完成的工作的输入。如果可能的话,我建议在作业配置中指定 endTimeOffset(特别是如果从输入到输入使用不同的编码)。

    【讨论】:

      猜你喜欢
      • 2021-10-24
      • 1970-01-01
      • 2021-02-12
      • 2018-09-07
      • 2016-09-30
      • 2020-03-22
      • 2019-01-30
      • 2020-05-21
      • 2015-01-23
      相关资源
      最近更新 更多