创建和管理 VOD 配置

本页面介绍如何管理 VOD 配置。VOD 配置用于配置 VOD 会话。如需了解详情,请参阅 REST 文档

准备工作

如需创建 VOD 会话,您必须先配置一个编码器,用于为 VOD 资产生成源 HLS 或 DASH 清单。这些清单在广告插播时间点边界处包含某些广告标记,这些标记由 Video Stitcher API 标识,用于进行广告拼接。您可以使用 Transcoder API 创建转码作业,以根据媒体文件类型(如 MP4 或 MOV)生成清单文件。

如需详细了解支持的 HLS 和 DASH 广告标记,请参阅广告标记文档

定义 VOD 配置

定义 VOD 配置时,以下字段是必填字段:

  • sourceUri
  • adTagUri

sourceUri 指定要在其中插入广告的源 VOD 资产的 HLS 或 DASH 清单的网址。如果提供的网址引用 HLS 清单,则 Video Stitcher API 返回 HLS 播放网址;如果提供的网址引用 DASH 清单,则会返回 DASH 播放网址。

adTagUri 用于指定返回广告元数据的广告服务器的网址。

注册 VOD 配置

如需注册 VOD 配置,请使用 projects.locations.vodConfigs.create 方法。

REST

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

  • PROJECT_NUMBER:您的 Google Cloud 项目编号;位于 IAM 设置页面上的项目编号字段中
  • LOCATION:要在其中创建 VOD 配置的位置;请使用支持的区域之一
    显示位置信息
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • VOD_CONFIG_ID:用户定义的 VOD 配置标识符。此 ID 只能包含小写字母、数字和连字符。第一个字符必须是字母,最后一个字符必须是字母或数字,并且整个 ID 最多只能包含 63 个字符。
  • VOD_URI:要拼接的媒体的 URI。此 URI 必须引用 MPEG-DASH 清单 (MPD) 文件或 HLS 清单 (M3U8) 文件。使用您已为其注册 CDN 密钥的公共 URI 或未签名 URI。
  • AD_TAG_URI:广告代码的公共 URI;如果您没有 URI,则可以使用 VMAP 前贴片广告示例

请求 JSON 正文:

{
  "sourceUri": "VOD_URI",
  "adTagUri": "AD_TAG_URI"
}

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

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.common.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_NUMBER/locations/LOCATION/vodConfigs/VOD_CONFIG_ID",
    "verb": "create",
    "cancelRequested": false,
    "apiVersion": "v1"
  },
  "done": false
}
此命令会创建一个长时间运行的操作 (LRO),您可以查询该操作以跟踪进度。复制返回的 OPERATION_ID(即 name 字段的最后一部分),以便在下一部分中使用。

查看结果

如需检查是否已创建 VOD 配置,请使用 projects.locations.operations.get 方法。如果响应包含 "done: false",请重复该命令,直到响应包含 "done: true"

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

  • PROJECT_NUMBER:您的 Google Cloud 项目编号;位于 IAM 设置页面上的项目编号字段中
  • LOCATION:数据的位置;请使用支持的区域之一
    显示位置信息
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • OPERATION_ID:操作的标识符

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

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.common.OperationMetadata",
    "createTime": CREATE_TIME,
    "endTime": END_TIME,
    "target": "projects/PROJECT_NUMBER/locations/LOCATION/vodConfigs/VOD_CONFIG_ID",
    "verb": "create"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.video.stitcher.v1.VodConfig",
    "name": "projects/PROJECT_NUMBER/locations/LOCATION/vodConfigs/VOD_CONFIG_ID",
    "sourceUri": "VOD_URI",
    "adTagUri": "AD_TAG_URI",
    "state": "READY"
  }
}

获取 VOD 配置

如需获取特定 VOD 配置的详细信息,请使用 projects.locations.vodConfigs.get 方法。

REST

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

  • PROJECT_NUMBER:您的 Google Cloud 项目编号;位于 IAM 设置页面上的项目编号字段中
  • LOCATION:VOD 配置的位置;请使用支持的区域之一
    显示位置信息
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • VOD_CONFIG_ID:用户为 VOD 配置的标识符

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

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/vodConfigs/VOD_CONFIG_ID",
  "sourceUri": "VOD_URI",
  "adTagUri": "AD_TAG_URI",
  "state": "READY"
}

更新 VOD 配置

如需更新 VOD 配置,请使用 projects.locations.vodConfigs.patch 方法。以下示例更新了 sourceUri 字段。

REST

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

  • PROJECT_NUMBER:您的 Google Cloud 项目编号;位于 IAM 设置页面上的项目编号字段中
  • LOCATION:VOD 配置的位置;请使用支持的区域之一
    显示位置信息
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • VOD_CONFIG_ID:用户为 VOD 配置的标识符
  • VOD_URI:要拼接的媒体的更新 URI

请求 JSON 正文:

{
  "sourceUri": "VOD_URI"
}

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

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.common.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_NUMBER/locations/LOCATION/vodConfigs/VOD_CONFIG_ID",
    "verb": "update"
  },
  "done": false
}
此命令会创建一个长时间运行的操作 (LRO),您可以查询该操作以跟踪进度。如需了解详情,请参阅检查结果

列出所有已注册的 VOD 配置

如需列出为项目中的指定位置注册的所有 VOD 配置,请使用 projects.locations.vodConfigs.list 方法。

REST

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

  • PROJECT_NUMBER:您的 Google Cloud 项目编号;位于 IAM 设置页面上的项目编号字段中
  • LOCATION:VOD 配置的位置;请使用受支持的区域之一
    显示位置信息
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1

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

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

{
  "vodConfigs": [
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/vodConfigs/VOD_CONFIG_ID",
      "sourceUri": "VOD_URI",
      "adTagUri": "AD_TAG_URI",
      "state": "READY"
    },
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/vodConfigs/my-other-vod-config",
      "sourceUri": "my-other-vod-stream-uri",
      "adTagUri": "my-other-ad-tag-uri",
      "state": "READY"
    }
}

更多结果

curl 响应可能包含 nextPageToken,它可用于检索其他结果:

{
  "vodConfigs": [
    ...
  ],
  "nextPageToken": "NEXT_PAGE_TOKEN"
}

您可以发送另一个 curl 请求(包括 NEXT_PAGE_TOKEN 的值),以列出其他配置。将以下内容附加到上述 API 调用中的网址:

?pageToken=NEXT_PAGE_TOKEN

如需详细了解如何使用此令牌,请参阅相关的客户端库

删除 VOD 配置

如果不再需要已注册的 VOD 配置,请使用 projects.locations.vodConfigs.delete 方法将其删除。

REST

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

  • PROJECT_NUMBER:您的 Google Cloud 项目编号;位于 IAM 设置页面上的项目编号字段中
  • LOCATION:VOD 配置的位置;请使用支持的区域之一
    显示位置信息
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • VOD_CONFIG_ID:用户为 VOD 配置的标识符

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

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.common.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_NUMBER/locations/LOCATION/vodConfigs/VOD_CONFIG_ID",
    "verb": "delete"
  },
  "done": false
}
此命令会创建一个长时间运行的操作 (LRO),您可以查询该操作以跟踪进度。如需了解详情,请参阅检查结果