HLS 直播活动快速入门
本页介绍了如何创建基本的 HLS 直播作业
使用 Live Stream API 和 curl
、PowerShell 或
客户端库。
您也可以直接在 Google Cloud 控制台中执行本快速入门。 使用以下任一编程语言:
准备工作
- 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Enable the Live Stream API:
gcloud services enable livestream.googleapis.com
-
Create local authentication credentials for your user account:
gcloud auth application-default login
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/livestream.editor, roles/storage.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Enable the Live Stream API:
gcloud services enable livestream.googleapis.com
-
Create local authentication credentials for your user account:
gcloud auth application-default login
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/livestream.editor, roles/storage.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
创建 Cloud Storage 存储桶
创建 Cloud Storage 存储桶以保存直播清单和片段 文件。
Google Cloud 控制台
命令行
-
创建 Cloud Storage 存储分区:
gcloud storage buckets create gs://BUCKET_NAME将
BUCKET_NAME
替换为符合存储桶名称要求的存储桶名称。
安装编码器
要使用此 API,您需要一个编码器来生成输入流 该 API 处理的所有信息。
将ffmpeg
作为此页面安装
介绍了如何使用 ffmpeg
生成输入流。您可以在
Cloud Shell
sudo apt install ffmpeg
创建输入端点
要开始直播,你必须先使用
projects.locations.inputs.create
方法创建输入端点。您需要将输入流发送到此端点。
REST
在使用任何请求数据之前,请先进行以下替换:
PROJECT_NUMBER
:您的 Google Cloud 项目 编号;此编号位于 API 单元上的项目编号字段中 IAM 设置页面LOCATION
:创建输入的位置 endpoint;请使用某个受支持的区域显示位置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
INPUT_ID
:新输入的用户定义标识符 要创建的端点(您要向其发送输入流的端点)。此值必须为 1-63 个字符,以[a-z0-9]
开头和结尾,并且 字符之间可以包含短划线 (-)。例如my-input
。
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 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/inputs/INPUT_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
C#
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API C# API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Go API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Java API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Node.js API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API PHP API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Python API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Ruby API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
将返回的 OPERATION_ID 复制到 我们会用到它
查看结果
使用 projects.locations.operations.get
方法检查是否已创建输入端点。如果响应包含
"done: false"
,重复该命令,直到响应包含 "done: true"
。
在区域中创建第一个输入端点最多可能需要 10 分钟。
在使用任何请求数据之前,请先进行以下替换:
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
OPERATION_ID
:操作的标识符
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime": CREATE_TIME, "endTime": END_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/INPUT_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.Input", "name": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/INPUT_ID", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "type": "RTMP_PUSH", "uri": INPUT_STREAM_URI, # For example, "rtmp://1.2.3.4/live/b8ebdd94-c8d9-4d88-a16e-b963c43a953b", "tier": "HD" } }
找到 uri
字段并复制返回的 INPUT_STREAM_URI,以便稍后在发送
输入流部分。
创建频道
要将输入流转码为输出流,您需要创建一个 频道资源。
要创建频道,请使用
projects.locations.channels.create
方法。以下示例将创建一个生成 HLS 的通道
包含一个高清 (1280x720) 呈现内容的直播视频流。
REST
在使用任何请求数据之前,请先进行以下替换:
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
:用户定义的渠道标识符 创建;此值必须为 1-63 个字符,以[a-z0-9]
开头和结尾,并且 字符之间可以包含短划线 (-)INPUT_ID
:用户定义的 ID 输入端点BUCKET_NAME
:Cloud Storage 的名称 您创建的存储桶,用于保存直播清单和片段文件
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 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", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
C#
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API C# API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Go API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Java API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Node.js API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API PHP API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Python API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Ruby API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
获取频道
您可以查看频道创建的结果 操作。
创建频道后,使用
projects.locations.channels.get
方法来查询频道状态。
REST
在使用任何请求数据之前,请先进行以下替换:
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 响应:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "inputAttachments": [ { "key": "INPUT_ID", "input": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/INPUT_ID" } ], "activeInput": "INPUT_ID", "output": { "uri": "gs://BUCKET_NAME" }, "elementaryStreams": [ { "videoStream": { "h264": { "widthPixels": 1280, "heightPixels": 720, "frameRate": 30, "bitrateBps": 3000000, "gopDuration": "2s", "vbvSizeBits": 3000000, "vbvFullnessBits": 2700000, "entropyCoder": "cabac", "profile": "high" } }, "key": "es_video" }, { "audioStream": { "codec": "aac", "bitrateBps": 160000, "channelCount": 2, "channelLayout": ["fl", "fr"], "sampleRateHertz": 48000 }, "key": "es_audio" } ], "muxStreams": [ { "key": "mux_video_ts", "container": "ts", "elementaryStreams": ["es_video", "es_audio"], "segmentSettings": { "segmentDuration": "2s" } } ], "manifests": [ { "key": "manifest_hls", "fileName": "main.m3u8", "type": "HLS", "muxStreams": [ "mux_video_ts", ], "maxSegmentCount": 5, "segmentKeepDuration": "60s" } ], "streamingState": "STOPPED" }
C#
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API C# API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Go API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Java API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Node.js API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API PHP API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Python API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Ruby API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
完整响应包含以下字段。(部分代码 上面的示例仅在响应中返回特定字段,但可以修改为 返回完整响应。)
{
...
"streamingState": "STOPPED"
...
}
此响应表明您现在可以启动频道了。
创建频道
使用
projects.locations.channels.start
方法启动渠道。频道必须先创建才能接受
输入流或生成输出流。
启动区域中的第一个渠道大约需要 10 分钟。
REST
在使用任何请求数据之前,请先进行以下替换:
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 响应:
{ "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", "verb": "start", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
C#
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API C# API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Go API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Java API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Node.js API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API PHP API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Python API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Ruby API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
发送输入流
如需确定频道是否已启动,请获取频道 信息。响应应包含以下内容:
{
...
"streamingState": "AWAITING_INPUT"
...
}
现在,通道已准备就绪,请将测试输入流发送到输入端点, 生成直播
打开一个新终端窗口。使用 INPUT_STREAM_URI(从 查看结果部分:
ffmpeg -re -f lavfi -i "testsrc=size=1280x720 [out0]; sine=frequency=500 [out1]" \
-acodec aac -vcodec h264 -f flv INPUT_STREAM_URI
检查频道是否正在直播
如需查看直播操作的状态,请执行以下操作: 获取频道信息。响应 应包含以下内容:
{
...
"streamingState": "STREAMING"
...
}
验证 Cloud Storage 存储桶中的内容
打开 Cloud Storage 存储桶。验证它是否包含以下文件 和目录:
main.m3u8
mux_video_ts/
- 多个
segment-segment-number.ts
文件 - 单个
index-1.m3u8
个文件
- 多个
播放生成的直播
如需在 Shaka Player 中播放生成的媒体文件,请完成以下步骤:
- 请将 Cloud Storage 存储分区设为可公开读取。
- 如需在 Cloud Storage 存储分区上启用跨域资源共享 (CORS),请执行以下操作:
- 创建一个包含以下内容的 JSON 文件:
[ { "origin": ["https://shaka-player-demo.appspot.com/"], "responseHeader": ["Content-Type", "Range"], "method": ["GET", "HEAD"], "maxAgeSeconds": 3600 } ]
-
将
JSON_FILE_NAME
替换为以下内容后运行以下命令: 您在上一步中创建的 JSON 文件的名称:gcloud storage buckets update gs://BUCKET_NAME --cors-file=JSON_FILE_NAME.json
- 创建一个包含以下内容的 JSON 文件:
- 在 Cloud Storage 存储桶中,找到生成的
main.m3u8
文件。在文件的公开访问权限列中,点击复制网址。 - 导航到在线直播播放器 Shaka Player。
- 点击顶部导航栏中的自定义内容。
- 点击 + 按钮。
将文件的公开网址粘贴到清单网址框中。
在名称框中输入一个名称。
点击保存。
点击播放。
您应该会看到作为直播呈现的测试流。
向直播活动添加广告插播时间点标记
使用
projects.locations.channels.events.create
方法为直播活动添加广告插播时间点标记。
REST
在使用任何请求数据之前,请先进行以下替换:
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
:用户定义的频道标识符EVENT_ID
:用户定义的事件标识符
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/events/EVENT_ID", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "adBreak": { "duration": "100s" }, "executeNow": true, "state": "PENDING" }
C#
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API C# API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Go API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Java API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Node.js API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API PHP API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Python API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Ruby API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
验证广告插播时间点标记是否存在
在直播中插入广告标记后,标记为CUE-OUT
出现在指定广告的 HLS 清单中
持续时间(100 秒)。
运行以下命令以查看生成的 HLS 清单的内容:
gcloud storage cat gs://BUCKET_NAME/mux_video_ts/index-1.m3u8
您可能需要多次运行 gcloud storage cat
命令,
系统会显示 CUE-OUT
部分:
...
#EXTM3U
#EXT-X-VERSION:7
#EXT-X-TARGETDURATION:4
#EXT-X-MEDIA-SEQUENCE:40
#EXT-X-DISCONTINUITY-SEQUENCE:0
#EXT-X-CUE-OUT:100.000000
#EXT-X-PROGRAM-DATE-TIME:2021-07-13T19:11:49.956Z
#EXTINF:2.000000
segment-0000000040.ts
#EXT-X-CUE-OUT-CONT:ElapsedTime=2.000000,Duration=100.000000
#EXT-X-PROGRAM-DATE-TIME:2021-07-13T19:11:51.956Z
#EXTINF:2.000000
segment-0000000041.ts
#EXT-X-CUE-OUT-CONT:ElapsedTime=4.000000,Duration=100.000000
#EXT-X-PROGRAM-DATE-TIME:2021-07-13T19:11:53.956Z
#EXTINF:2.000000
segment-0000000042.ts
#EXT-X-CUE-OUT-CONT:ElapsedTime=6.000000,Duration=100.000000
#EXT-X-PROGRAM-DATE-TIME:2021-07-13T19:11:55.956Z
#EXTINF:2.000000
segment-0000000043.ts
#EXT-X-CUE-OUT-CONT:ElapsedTime=8.000000,Duration=100.000000
...
清理
为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
停止频道
使用
projects.locations.channels.stop
方法来停止频道。你必须先停止频道,然后才能将其删除。
REST
在使用任何请求数据之前,请先进行以下替换:
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 响应:
{ "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", "verb": "stop", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
C#
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API C# API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Go API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Java API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Node.js API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API PHP API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Python API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Ruby API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
使用 OPERATION_ID 检查操作
状态,直到您在结果中显示 "done":true
。
停止输入流
如果您使用 ffmpeg
发送输入流,系统会自动进行连接
就会出现故障
如果你使用过具有重试机制的其他编码器,则可能需要手动停止 输入流。
删除活动
使用
projects.locations.channels.events.delete
方法来删除广告插播时间点事件。你必须先删除频道活动
可以删除该频道。
REST
在使用任何请求数据之前,请先进行以下替换:
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
:用户定义的频道标识符EVENT_ID
:用户定义的事件标识符
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{}
C#
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API C# API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Go API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Java API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Node.js API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API PHP API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Python API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Ruby API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
删除频道
使用
projects.locations.channels.delete
方法删除渠道。你必须先删除频道,然后才能删除
通道使用的输入端点。
REST
在使用任何请求数据之前,请先进行以下替换:
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 响应:
{ "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", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
C#
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API C# API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Go API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Java API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Node.js API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API PHP API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Python API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Ruby API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
使用 OPERATION_ID 检查操作
状态,直到您在结果中显示 "done":true
。
删除输入端点
使用
projects.locations.inputs.delete
方法删除输入端点。
REST
在使用任何请求数据之前,请先进行以下替换:
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
INPUT_ID
:用户定义的 ID 输入端点
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 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/inputs/INPUT_ID", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
C#
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API C# API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Go API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Java API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Node.js API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API PHP API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Python API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
如需了解如何安装和使用 Live Stream API 的客户端库,请参阅 Live Stream API 客户端库。 有关详情,请参阅 Live Stream API Ruby API 参考文档。
如需向 Live Stream API 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
删除 Cloud Storage 存储分区
请注意,由 Live Stream API 生成的存储桶中的所有文件和文件夹 频道会随之删除
在 Google Cloud 控制台中,前往“Cloud Storage 浏览器”页面。
选中所创建存储分区旁边的复选框。
点击删除。
在显示的弹出式窗口中,点击删除以永久删除存储分区及其内容。
撤消您的凭据
-
Optional: Revoke the authentication credentials that you created, and delete the local credential file.
gcloud auth application-default revoke
-
可选:从 gcloud CLI 撤消凭据。
gcloud auth revoke
后续步骤
- 尝试按照 MPEG-DASH 直播”的快速入门说明执行操作。
- 了解如何配置备份输入流。