在 VOD 资源中插入广告
本页面介绍了如何使用 Video Stitcher API 和 curl、PowerShell 或客户端库将广告插入视频点播 (VOD) 资源的播放中。
准备工作
在调用 Video Stitcher API 之前,请完成以下步骤:
- 登录您的 Google Cloud 账号。如果您是 Google Cloud新手,请 创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
-
安装 Google Cloud CLI。
-
如果您使用的是外部身份提供方 (IdP),则必须先 使用联合身份登录 gcloud CLI。
-
如需初始化 gcloud CLI,请运行以下命令:
gcloud init -
选择或创建项目所需的角色
- 选择项目:选择项目不需要特定的 IAM 角色,您可以选择已获授角色的任何项目。
-
创建项目:如需创建项目,您需要拥有 Project Creator 角色 (
roles/resourcemanager.projectCreator),该角色包含resourcemanager.projects.create权限。了解如何授予角色。
-
创建 Google Cloud 项目:
gcloud projects create PROJECT_ID
将
PROJECT_ID替换为您要创建的 Google Cloud 项目的名称。 -
选择您创建的 Google Cloud 项目:
gcloud config set project PROJECT_ID
将
PROJECT_ID替换为您的 Google Cloud 项目名称。
启用 Video Stitcher API(如果尚未启用):
启用 API 所需的角色
如需启用 API,您需要拥有
serviceusage.services.enable权限。如果您创建了项目,则可能已经通过 Owner 角色 (roles/owner) 拥有此权限。否则,您可以通过 Service Usage Admin 角色 (roles/serviceusage.serviceUsageAdmin) 获得此权限。了解如何授予角色。gcloud services enable videostitcher.googleapis.com
-
如果您使用的是本地 shell,请为您的用户账号创建本地身份验证凭证:
gcloud auth application-default login
如果您使用的是 Cloud Shell,则无需执行此操作。
如果系统返回身份验证错误,并且您使用的是外部身份提供方 (IdP),请确认您已 使用联合身份登录 gcloud CLI。
-
向您的用户账号授予角色。对以下每个 IAM 角色运行以下命令一次:
roles/videostitcher.admingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
替换以下内容:
PROJECT_ID:您的项目 ID。USER_IDENTIFIER:您的用户 账号的标识符。例如,myemail@example.com。ROLE:您向用户账号授予的 IAM 角色。
-
安装 Google Cloud CLI。
-
如果您使用的是外部身份提供方 (IdP),则必须先 使用联合身份登录 gcloud CLI。
-
如需初始化 gcloud CLI,请运行以下命令:
gcloud init -
选择或创建项目所需的角色
- 选择项目:选择项目不需要特定的 IAM 角色,您可以选择已获授角色的任何项目。
-
创建项目:如需创建项目,您需要拥有 Project Creator 角色 (
roles/resourcemanager.projectCreator),该角色包含resourcemanager.projects.create权限。了解如何授予角色。
-
创建 Google Cloud 项目:
gcloud projects create PROJECT_ID
将
PROJECT_ID替换为您要创建的 Google Cloud 项目的名称。 -
选择您创建的 Google Cloud 项目:
gcloud config set project PROJECT_ID
将
PROJECT_ID替换为您的 Google Cloud 项目名称。
启用 Video Stitcher API(如果尚未启用):
启用 API 所需的角色
如需启用 API,您需要拥有
serviceusage.services.enable权限。如果您创建了项目,则可能已经通过 Owner 角色 (roles/owner) 拥有此权限。否则,您可以通过 Service Usage Admin 角色 (roles/serviceusage.serviceUsageAdmin) 获得此权限。了解如何授予角色。gcloud services enable videostitcher.googleapis.com
-
如果您使用的是本地 shell,请为您的用户账号创建本地身份验证凭证:
gcloud auth application-default login
如果您使用的是 Cloud Shell,则无需执行此操作。
如果系统返回身份验证错误,并且您使用的是外部身份提供方 (IdP),请确认您已 使用联合身份登录 gcloud CLI。
-
向您的用户账号授予角色。对以下每个 IAM 角色运行以下命令一次:
roles/videostitcher.admingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
替换以下内容:
PROJECT_ID:您的项目 ID。USER_IDENTIFIER:您的用户 账号的标识符。例如,myemail@example.com。ROLE:您向用户账号授予的 IAM 角色。
- 此快速入门需要 MPEG-DASH 清单 (MPD) 文件或 HTTP Live Streaming (HLS) 清单 (M3U8) 文件以及关联的段文件。您可以使用现有的 VOD 文件,也可以使用 Transcoder API 创建 VOD 源文件。
- 您可以选择在此快速入门中使用内容分发网络 (CDN)。如果您尚未配置 CDN,请按照媒体 CDN 快速入门中的步骤操作,并进行以下修改:
- 将 MPEG-DASH 或 HLS 清单文件和媒体片段上传到 Cloud Storage 存储桶中。
- 您不必将 Cloud Storage 存储桶设为可公开读取。
- 您可以使用签名网址或未签名网址。
创建 CDN 密钥
Video Stitcher API 可以从内容分发网络 (CDN) 提取视频。如果视频资源受网址签名保护,则必须向 Video Stitcher API 注册 CDN 密钥。
如需注册 CDN 密钥,请使用 projects.locations.cdnKeys.create 方法。
REST(媒体 CDN)
在使用任何请求数据之前,请先进行以下替换:
PROJECT_NUMBER:您的 Google Cloud 项目编号;该编号位于 IAM 设置页面上的项目编号字段中LOCATION:用于创建 CDN 密钥的位置;请使用受支持的国家/地区之一显示营业地点us-central1us-east1us-west1asia-east1asia-south1asia-southeast1europe-west1southamerica-east1
CDN_KEY_ID:CDN 密钥的用户定义标识符,将成为 CDN 密钥资源名称的最后一个组成部分。 此 ID 只能包含小写字母、数字和连字符。 第一个字符必须是字母,最后一个字符必须是字母或数字,并且整个 ID 的长度不得超过 63 个字符。HOSTNAME:要与此 CDN 密钥关联的 CDN 的主机名(例如,IP 地址35.190.60.252或域名cdn.example.com)MEDIA_CDN_KEYNAME:Media CDN 密钥的密钥集名称MEDIA_CDN_PRIVATE_KEY:64 字节 Ed25519 私钥,采用 base64 编码的字符串形式。如需了解详情,请参阅为媒体 CDN 创建私钥。
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 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/cdnKeys/CDN_KEY_ID",
"verb": "create",
"cancelRequested": false,
"apiVersion": "v1"
},
"done": false
}
OPERATION_ID(即 name 字段的最后一部分),以便在下一部分中使用。
REST(Cloud CDN)
在使用任何请求数据之前,请先进行以下替换:
PROJECT_NUMBER:您的 Google Cloud 项目编号;此编号位于“IAM 设置”页面的项目编号字段中LOCATION:用于创建 CDN 密钥的位置;请使用受支持的国家/地区之一显示营业地点us-central1us-east1us-west1asia-east1asia-south1asia-southeast1europe-west1southamerica-east1
CDN_KEY_ID:CDN 密钥的用户定义标识符,将成为 CDN 密钥资源名称的最后一个组成部分。 此 ID 只能包含小写字母、数字和连字符。 第一个字符必须是字母,最后一个字符必须是字母或数字,并且整个 ID 的长度不得超过 63 个字符。HOSTNAME:要与此 CDN 密钥关联的 CDN 的主机名(例如,IP 地址35.190.60.252或域名cdn.example.com)GCDN_KEYNAME:Cloud CDN 密钥的名称GCDN_PRIVATE_KEY:Cloud CDN 密钥的 base64 编码字符串密钥
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 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/cdnKeys/CDN_KEY_ID",
"verb": "create",
"cancelRequested": false,
"apiVersion": "v1"
},
"done": false
}
OPERATION_ID(即 name 字段的最后一部分),以便在下一部分中使用。
REST (Akamai CDN)
在使用任何请求数据之前,请先进行以下替换:
PROJECT_NUMBER:您的 Google Cloud 项目编号;该编号位于 IAM 设置页面上的项目编号字段中LOCATION:用于创建 CDN 密钥的位置;请使用受支持的国家/地区之一显示营业地点us-central1us-east1us-west1asia-east1asia-south1asia-southeast1europe-west1southamerica-east1
CDN_KEY_ID:CDN 密钥的用户定义标识符,将成为 CDN 密钥资源名称的最后一个组成部分。 此 ID 只能包含小写字母、数字和连字符。 第一个字符必须是字母,最后一个字符必须是字母或数字,并且整个 ID 的长度不得超过 63 个字符。HOSTNAME:要与此 CDN 密钥关联的 CDN 的主机名(例如,IP 地址 [如35.190.60.252] 或域名 [如cdn.example.com])AKAMAI_TOKEN_KEY:Akamai CDN 边缘配置的 base64 编码字符串令牌密钥
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 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/cdnKeys/CDN_KEY_ID",
"verb": "create",
"cancelRequested": false,
"apiVersion": "v1"
},
"done": false
}
OPERATION_ID(即 name 字段的最后一部分),以便在下一部分中使用。
C#
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 C# 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API C# API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
试用此示例之前,请按照 Video Stitcher API 快速入门:使用客户端库中的 Go 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Go API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
试用此示例之前,请按照 Video Stitcher API 快速入门:使用客户端库中的 Java 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Java API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 Node.js 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Node.js API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 PHP 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API PHP API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
试用此示例之前,请按照 Video Stitcher API 快速入门:使用客户端库中的 Python 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Python API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 Ruby 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Ruby API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
检查结果
如需检查 CDN 密钥是否已创建,请使用 projects.locations.operations.get 方法。如果响应包含 "done: false",请重复该命令,直到响应包含 "done: true"。
在使用任何请求数据之前,请先进行以下替换:
PROJECT_NUMBER:您的 Google Cloud 项目编号;此编号位于 IAM 设置页面上的项目编号字段中LOCATION:数据的位置;使用其中一个受支持的区域显示营业地点us-central1us-east1us-west1asia-east1asia-south1asia-southeast1europe-west1southamerica-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/cdnKeys/CDN_KEY_ID",
"verb": "create",
"cancelRequested": false,
"apiVersion": "v1"
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.video.stitcher.v1.CdnKey",
"name": "projects/PROJECT_NUMBER/locations/LOCATION/cdnKeys/CDN_KEY_ID",
"hostname": "HOSTNAME",
"mediaCdnKey": {
"keyName": "MEDIA_CDN_KEYNAME"
}
}
}
创建 VOD 配置
在创建 VOD 会话之前,您需要先为其创建配置。 许多 VOD 会话可以共享同一配置。
如需创建配置,请使用 projects.locations.vodConfigs.create 方法。
REST
在使用任何请求数据之前,请先进行以下替换:
PROJECT_NUMBER:您的 Google Cloud 项目编号;该编号位于 IAM 设置页面上的项目编号字段中LOCATION:用于创建视频点播配置的位置;请使用受支持的国家/地区之一显示营业地点us-central1us-east1us-west1asia-east1asia-south1asia-southeast1europe-west1southamerica-east1
VOD_CONFIG_ID:视频点播配置的用户定义标识符。 此 ID 只能包含小写字母、数字和连字符。 第一个字符必须是字母,最后一个字符必须是字母或数字,整个 ID 的长度不得超过 63 个字符。VOD_URI:要拼接的媒体的 URI。此 URI 必须引用 MPEG-DASH 清单 (MPD) 文件或 HLS 清单 (M3U8) 文件。使用您注册了 CDN 密钥的公开 URI 或未签名 URI。 :广告代码的公开 URI;如果您没有,可以使用 VMAP 前贴片广告示例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
}
C#
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 C# 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API C# API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 Go 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Go API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
试用此示例之前,请按照 Video Stitcher API 快速入门:使用客户端库中的 Java 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Java API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 Node.js 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Node.js API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 PHP 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API PHP API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 Python 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Python API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
试用此示例之前,请按照 Video Stitcher API 快速入门:使用客户端库中的 Ruby 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Ruby API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
获取配置
如需获取配置,请使用 projects.locations.vodConfigs.get 方法。
REST
在使用任何请求数据之前,请先进行以下替换:
PROJECT_NUMBER:您的 Google Cloud 项目编号;此编号位于“IAM 设置”页面的项目编号字段中LOCATION:视频点播 配置的位置;使用其中一个受支持的国家/地区显示营业地点us-central1us-east1us-west1asia-east1asia-south1asia-southeast1europe-west1southamerica-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"
}
C#
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 C# 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API C# API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Go
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 Go 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Go API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
试用此示例之前,请按照 Video Stitcher API 快速入门:使用客户端库中的 Java 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Java API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 Node.js 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Node.js API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
试用此示例之前,请按照 Video Stitcher API 快速入门:使用客户端库中的 PHP 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API PHP API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 Python 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Python API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 Ruby 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Ruby API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
检查状态是否已设置为 READY。如果不是,请等待几秒钟,然后再次发送请求。
创建会话
如需为拼接广告的视频创建会话,请使用 projects.locations.vodSessions.create 方法。
REST
在使用任何请求数据之前,请先进行以下替换:
PROJECT_NUMBER:您的 Google Cloud 项目编号,位于 IAM 设置页面上的项目编号字段中LOCATION:要创建会话的位置;请使用其中一个受支持的国家/地区显示营业地点us-central1us-east1us-west1asia-east1asia-south1asia-southeast1europe-west1southamerica-east1
VOD_CONFIG_ID:视频点播配置的用户定义标识符
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION/vodSessions/SESSION_ID",
"interstitials": {
"sessionContent": {
"duration": "60s"
}
},
"playUri": "PLAY_URI", # This is the ad-stitched VOD URI
"sourceUri": "VOD_URI",
"adTagUri": "AD_TAG_URI",
"assetId": "ASSET_ID",
"adTracking": "SERVER",
"vodConfig": "projects/PROJECT_NUMBER/locations/LOCATION/vodConfigs/VOD_CONFIG_ID"
}
C#
试用此示例之前,请按照 Video Stitcher API 快速入门:使用客户端库中的 C# 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API C# API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Go
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 Go 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Go API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
试用此示例之前,请按照 Video Stitcher API 快速入门:使用客户端库中的 Java 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Java API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 Node.js 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Node.js API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 PHP 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API PHP API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 Python 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Python API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 Ruby 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Ruby API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Video Stitcher API 会为每个请求生成唯一的会话 ID。会话会在 4 小时后过期。
确认广告已拼接
广告必须先经过编码,然后才能拼接到 VOD 会话中。
如果您在 vodSessions.create 命令中指定的广告已在之前的会话中编码,则 Video Stitcher API 会在 JSON 响应中包含 adBreaks 事件。Video Stitcher API 仅查找由与您的 Google Cloud 项目相关联的会话创建的已编码广告。
如果广告尚未编码,则 JSON 响应不包含 adBreaks 事件。如果您收到的 JSON 响应与上一部分中的类似,请等待广告编码完成,然后重新运行 vodSessions.create 命令。
当编码后的广告成功缝合到会话中时,响应应如下所示:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/vodSessions/SESSION_ID", "interstitials": { "adBreaks": [ { "progressEvents": [ { "timeOffset": "0s", "events": [ { "type": "IMPRESSION", "uri": "https://securepubads.g.doubleclick.net/pcs/view..." }, { "type": "START", "uri": "https://pubads.g.doubleclick.net/pagead/interaction/..." }, ... ] }, ... ], "ads": [ { "duration": "10s", "activityEvents": [ { "type": "ERROR", "uri": "https://pubads.g.doubleclick.net/pagead/interaction/..." }, { "type": "CLICK_THROUGH", "uri": "https://pubads.g.doubleclick.net/pcs/click...", "id": "GDFP" }, ... ] } ], "endTimeOffset": "10s", "startTimeOffset": "0s" } ], "sessionContent": { "duration": "70s" } }, "playUri": "PLAY_URI", "sourceUri": "VOD_URI", "adTagUri": "AD_TAG_URI", "assetId": "ASSET_ID", "adTracking": "SERVER", "vodConfig": "projects/PROJECT_NUMBER/locations/LOCATION/vodConfigs/VOD_CONFIG_ID" }
您可以通过引用响应对象的 playUri 字段中的 URI 来播放拼接了广告的 VOD 流。
播放已拼接广告的 VOD 视频流
使用响应对象的 playUri 字段中的 URI 播放拼接了广告的 VOD 流。如需在 Shaka Player 中播放此 VOD 会话,请完成以下步骤:
- 前往在线媒体播放器 Shaka Player。
- 点击顶部导航栏中的自定义内容。
- 点击 + 按钮。
将
playUri字段的值 (PLAY_URI) 粘贴到 Manifest URL(清单网址)框中。
在名称框中输入一个名称。
点击保存。
点击播放。
如果您的视频位于 Cloud Storage 存储桶中,请确保存储桶是公开的,并且已在存储桶上启用 CORS。
查看一个使用 Transcoder API 示例视频和 VMAP 预贴片广告代码网址的插播广告视频示例。
清理
为避免因本页面中使用的资源导致您的 Google Cloud 账号产生费用,请删除包含这些资源的 Google Cloud 项目。
删除 VOD 配置
如需删除 VOD 配置,请执行以下操作:
REST
在使用任何请求数据之前,请先进行以下替换:
PROJECT_NUMBER:您的 Google Cloud 项目编号;该编号位于 IAM 设置页面上的项目编号字段中LOCATION:视频点播 配置的位置;请使用受支持的国家/地区之一显示营业地点us-central1us-east1us-west1asia-east1asia-south1asia-southeast1europe-west1southamerica-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
}
C#
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 C# 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API C# API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 Go 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Go API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 Java 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Java API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 Node.js 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Node.js API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 PHP 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API PHP API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 Python 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Python API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 Ruby 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Ruby API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
删除 CDN 密钥
如需删除 CDN 密钥,请执行以下操作:
REST
在使用任何请求数据之前,请先进行以下替换:
PROJECT_NUMBER:您的 Google Cloud 项目编号;此编号位于“IAM 设置”页面的项目编号字段中LOCATION:CDN 密钥所在的位置;请使用受支持的国家/地区之一显示营业地点us-central1us-east1us-west1asia-east1asia-south1asia-southeast1europe-west1southamerica-east1
CDN_KEY_ID:CDN 密钥的用户定义标识符
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 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/cdnKeys/CDN_KEY_ID",
"verb": "delete",
"cancelRequested": false,
"apiVersion": "v1"
},
"done": false
}
C#
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 C# 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API C# API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 Go 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Go API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
试用此示例之前,请按照 Video Stitcher API 快速入门:使用客户端库中的 Java 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Java API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 Node.js 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Node.js API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
试用此示例之前,请按照 Video Stitcher API 快速入门:使用客户端库中的 PHP 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API PHP API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
试用此示例之前,请按照 Video Stitcher API 快速入门:使用客户端库中的 Python 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Python API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
试用此示例之前,请按照《Video Stitcher API 快速入门:使用客户端库》中的 Ruby 设置说明进行操作。 如需了解详情,请参阅 Video Stitcher API Ruby API 参考文档。
如需向 Video Stitcher API 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
撤消凭据
-
可选:撤销您创建的身份验证凭证,并删除本地凭证文件。
gcloud auth application-default revoke
-
可选:从 gcloud CLI 撤消凭据。
gcloud auth revoke