创建和管理频道剪辑

本页介绍了如何创建和管理 Live Stream API 频道剪辑。 频道剪辑是频道的子资源。您可以使用频道片段来 通过直播创建视频点播 (VOD) 文件。这些 VOD 文件会保存到 Cloud Storage。如需了解详情,请参阅 从直播创建 VOD 片段

设置您的 Google Cloud 项目和身份验证

如果您尚未创建 Google Cloud 项目和凭据,请参阅开始前须知

前提条件

你必须先创建以下资源,然后才能创建频道剪辑:

  1. 创建输入端点

  2. 创建频道 (具有保留配置

创建频道剪辑

请务必启动频道 并开始将内容流式传输到频道中,然后再创建频道片段。

如需创建渠道剪辑,请使用 projects.locations.channels.clips.create 方法。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_NUMBER:您的 Google Cloud 项目 编号;此编号位于 API 单元上的项目编号字段中 IAM 设置页面
  • LOCATION:您的频道所在的位置 所在位置;请使用某个受支持的区域
    显示位置
    • us-central1
    • us-east1
    • us-east4
    • us-west1
    • us-west2
    • northamerica-northeast1
    • southamerica-east1
    • asia-east1
    • asia-east2
    • asia-northeast1
    • asia-southeast1
    • australia-southeast1
    • europe-west1
    • europe-west2
    • europe-west3
    • europe-west4
  • CHANNEL_ID:用户定义的频道标识符
  • CLIP_ID:VOD 剪辑的用户定义标识符
  • MARK_IN_TIME:标记中的 Unix 纪元时间 原始直播清单;使用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)中的时间戳格式(例如, 2014-10-02T15:01:23Z)
  • MARK_OUT_TIME:标记 Unix 纪元时间 原始直播活动清单中;使用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)中的时间戳格式( 示例:2014-10-02T15:01:23Z
  • BUCKET_NAME:Cloud Storage 的名称 您创建的存储桶,用于保存 VOD 剪辑清单和片段文件;您可以使用同一个存储桶 您为直播清单或其他存储桶创建的;还可以将一个目录 name 更改为存储桶名称(例如 my-bucket/vod-clip

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/clips/CLIP_ID",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

此命令会创建一个长时间运行的操作 (LRO),供您使用 来跟踪请求的进展情况请参阅 管理长时间运行的操作 了解详情。

获取频道剪辑的详细信息

要获取频道剪辑的详细信息,请使用 projects.locations.channels.clips.get 方法。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_NUMBER:您的 Google Cloud 项目 编号;此编号位于 API 单元上的项目编号字段中 IAM 设置页面
  • LOCATION:频道所在的位置;请使用某个受支持的地区
    显示营业地点
    • us-central1
    • us-east1
    • us-east4
    • us-west1
    • us-west2
    • northamerica-northeast1
    • southamerica-east1
    • asia-east1
    • asia-east2
    • asia-northeast1
    • asia-southeast1
    • australia-southeast1
    • europe-west1
    • europe-west2
    • europe-west3
    • europe-west4
  • CHANNEL_ID:用户定义的频道标识符
  • CLIP_ID:VOD 剪辑的用户定义标识符

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/clips/CLIP_ID",
  "createTime": CREATE_TIME,
  "startTime": START_TIME,
  "updateTime": UPDATE_TIME,
  "state": "SUCCEEDED",
  "outputUri": "gs://BUCKET_NAME",
  "slices": [
    {
      "timeSlice": {
        "markinTime": "MARK_IN_TIME",
        "markoutTime": "MARK_OUT_TIME"
      }
    }
  ],
  "features": {},
  "clipManifests": [
    {
      "manifestKey": "manifest_hls",
      "outputUri": "gs://BUCKET_NAME/main.m3u8"
    }
  ]
}

只能提供每个频道最近的 1000 条剪辑作业记录 使用 projects.locations.channels.clips.get 方法。超过此限制的所有剪辑作业记录都将被移除。您必须管理生成的剪辑 由 outputUri; Live Stream API 不会从 Cloud Storage 中删除这些文件。

列出频道剪辑

要列出您为某个频道创建的所有频道剪辑,请使用 projects.locations.channels.clips.list 方法。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_NUMBER:您的 Google Cloud 项目 编号;此编号位于 API 单元上的项目编号字段中 IAM 设置页面
  • LOCATION:您的频道所在的位置 所在位置;请使用某个受支持的区域
    显示位置
    • us-central1
    • us-east1
    • us-east4
    • us-west1
    • us-west2
    • northamerica-northeast1
    • southamerica-east1
    • asia-east1
    • asia-east2
    • asia-northeast1
    • asia-southeast1
    • australia-southeast1
    • europe-west1
    • europe-west2
    • europe-west3
    • europe-west4
  • CHANNEL_ID:用户定义的渠道标识符

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
    "clips": [
      {
        "name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/clips/CLIP_ID",
        "createTime": CREATE_TIME,
        "startTime": START_TIME,
        "updateTime": UPDATE_TIME,
        "state": "SUCCEEDED",
        "outputUri": "gs://BUCKET_NAME",
        "slices": [
          {
            "timeSlice": {
              "markinTime": "MARK_IN_TIME",
              "markoutTime": "MARK_OUT_TIME"
            }
          }
        ],
        "features": {},
        "clipManifests": [
          {
            "manifestKey": "manifest_hls",
            "outputUri": "gs://BUCKET_NAME/main.m3u8"
          }
        ]
      },
      {
        "name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/clips/my-clip2",
        "createTime": CREATE_TIME,
        "startTime": START_TIME,
        "updateTime": UPDATE_TIME,
        "state": "SUCCEEDED",
        "outputUri": "gs://BUCKET_NAME",
        "slices": [
          {
            "timeSlice": {
              "markinTime": "MARK_IN_TIME",
              "markoutTime": "MARK_OUT_TIME"
            }
          }
        ],
        "features": {},
        "clipManifests": [
          {
            "manifestKey": "manifest_hls",
            "outputUri": "gs://BUCKET_NAME/main.m3u8"
          }
        ]
      }
  ]
}