将广告插入 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,您需要拥有 Service Usage Admin IAM 角色 (
roles/serviceusage.serviceUsageAdmin),该角色包含serviceusage.services.enable权限。了解如何授予角色。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,您需要拥有 Service Usage Admin IAM 角色 (
roles/serviceusage.serviceUsageAdmin),该角色包含serviceusage.services.enable权限。了解如何授予角色。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 文件,也可以使用转码器 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:媒体 CDN 密钥的密钥集名称MEDIA_CDN_PRIVATE_KEY:以 base64 编码的字符串形式表示的 64 字节 Ed25519 私钥。如需了解详情,请参阅为媒体 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:用户定义的 VOD 配置标识符。 此 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:用户定义的视频点播配置标识符
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 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:IAM 设置页面上项目编号字段中显示的 Google Cloud 项目编号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 来播放拼接了广告的视频点播流。
播放拼接了广告的视频点播流
使用响应对象的 playUri 字段中的 URI 播放拼接了广告的视频点播流。如需在 Shaka Player 中播放此 VOD 会话,请完成以下步骤:
- 前往在线媒体播放器 Shaka Player。
- 点击顶部导航栏中的自定义内容。
- 点击 + 按钮。
将
playUri字段的值 (PLAY_URI) 粘贴到清单网址框中。
在名称框中输入一个名称。
点击保存。
点击播放。
如果您的视频位于 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:用户定义的视频点播配置标识符
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 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