本页介绍了如何使用安全可靠传输 (SRT) 协议或实时消息传送协议 (RTMP) 将直播输出分发到远程端点。SRT 和 RTMP 均以推送模式将视频流发送到端点。支持的容器格式为 MPEG-TS(适用于 SRT)和 FLV(适用于 RTMP)。
准备工作
本页面假定您已完成 HLS 直播快速入门的准备工作部分中的步骤。
根据您选择的分发协议,在您希望以推送模式接收输出的提供商处创建 SRT 或 RTMP 端点。端点 URI 格式因协议而异:
- 对于 SRT:
srt://SRT_SERVER_IP:SRT_SERVER_PORT?streamid=SRT_SERVER_STREAM_ID
- 对于 RTMP:
rtmp://RTMP_SERVER_IP:RTMP_SERVER_PORT/RTMP_APP_NAME/RTMP_STREAM_KEY
或仅rtmp://RTMP_SERVER_IP:RTMP_SERVER_PORT/RTMP_APP_NAME
SRT_SERVER_IP 和 RTMP_SERVER_IP 可以是 IP 地址,也可以是域名。
创建输入端点
如需创建输入端点,请使用 projects.locations.inputs.create
方法。
在使用任何请求数据之前,请先进行以下替换:
PROJECT_NUMBER
:您的 Google Cloud 项目编号;该编号位于 IAM 设置页面上的项目编号字段中LOCATION
:创建输入端点的位置;请使用某个受支持的地区显示位置us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
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 }
复制返回的 OPERATION_ID 以便在下一部分中使用。
检查结果
使用 projects.locations.operations.get
方法检查是否已创建输入端点。如果响应包含 "done: false"
,请重复执行该命令,直到响应包含 "done: true"
。在某个区域中创建第一个输入端点最多可能需要 10 分钟。
在使用任何请求数据之前,请先进行以下替换:
PROJECT_NUMBER
:您的 Google Cloud 项目编号;该编号位于 IAM 设置页面上的项目编号字段中LOCATION
:输入端点所在的位置;请使用某个受支持的地区显示位置us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
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
方法。
请注意频道配置中的以下事项:
distributionStreams
数组包含分发的流的多路复用设置。每个
DistributionStream
对象都必须包含key
、container
和elementaryStreams
字段。{ "distributionStreams": [ { "key": "ds1", "container": "ts", // to be used with an SRT distribution "elementaryStreams": [ "es_video_720", "es_audio" ] }, { "key": "ds2", "container": "flv", // to be used with an RTMP distribution "elementaryStreams": [ "es_video_640", "es_audio" ] } ] }
distributions
数组列出了分发配置,其中包括远程端点。将
Distribution
对象中的distributionStream
字段设置为DistributionStream
对象的key
。对于 SRT 分发,请将
SrtPushOutputEndpoint
对象中的uri
设置为您创建的 SRT 端点。对于 RTMP 分发,请将RtmpPushOutputEndpoint
对象中的uri
设置为您创建的 RTMP 端点。{ "distributions": [ { "key": "pd1", "distributionStream": "ds1", // defined in a distributionStreams[] object with an MPEG-TS container "srtPush": { "uri": "srt://SRT_SERVER_IP:SRT_SERVER_PORT?streamid=SRT_SERVER_STREAM_ID" } }, { "key": "pd2", "distributionStream": "ds2", // defined in a distributionStreams[] object with an FLV container "rtmpPush": { "uri": "rtmp://RTMP_SERVER_IP:RTMP_SERVER_PORT/RTMP_APP_NAME/", "streamKey": "RTMP_STREAM_KEY" } } ] }
如需分发 AI 生成的字幕和翻译的字幕,请参阅配置自动字幕和翻译指南。
以下示例仅使用一个 DistributionStream
对象和一个 Distribution
对象。
REST
SRT
在使用任何请求数据之前,请先进行以下替换:
PROJECT_NUMBER
:您的 Google Cloud 项目编号;该编号位于 IAM 设置页面上的项目编号字段中LOCATION
:创建渠道的位置;请使用某个受支持的地区显示位置us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
:要创建的渠道的用户定义标识符;此值必须为 1-63 个字符,以[a-z0-9]
开头和结尾,并且可以在字符之间包含短划线 (-)。INPUT_ID
:输入端点的用户定义标识符BUCKET_NAME
:您创建的用于存储直播清单和分段文件的 Cloud Storage 存储桶的名称SRT_SERVER_IP
:远程端点的 IP 地址或域名SRT_SERVER_PORT
:远程端点的端口号SRT_SERVER_STREAM_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/channels/CHANNEL_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
RTMP
在使用任何请求数据之前,请先进行以下替换:
PROJECT_NUMBER
:您的 Google Cloud 项目编号;该编号位于 IAM 设置页面上的项目编号字段中LOCATION
:创建渠道的位置;请使用某个受支持的地区显示位置us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
:要创建的渠道的用户定义标识符;此值必须为 1-63 个字符,以[a-z0-9]
开头和结尾,并且可以在字符之间包含短划线 (-)。INPUT_ID
:输入端点的用户定义标识符BUCKET_NAME
:您创建的用于存储直播清单和分段文件的 Cloud Storage 存储桶的名称RTMP_SERVER_IP
:远程端点的 IP 地址或域名RTMP_SERVER_PORT
:远程端点的端口号RTMP_APP_NAME
:流名称的路径前缀RTMP_STREAM_KEY
:远程端点的流密钥
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 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 }
您可以使用新的操作 ID 检查操作结果。
获取频道
创建渠道后,使用 projects.locations.channels.get
方法查询渠道状态。
REST
SRT
在使用任何请求数据之前,请先进行以下替换:
PROJECT_NUMBER
:您的 Google Cloud 项目编号;该编号位于 IAM 设置页面上的项目编号字段中LOCATION
:频道所在的地理位置;请使用支持的地区之一显示位置us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
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, "sampleRateHertz": 48000 }, "key": "es_audio" } ], "muxStreams": [ { "key": "mux_video_ts", "container": "ts", "elementaryStreams": [ "es_video", "es_audio" ], "segmentSettings": { "segmentDuration": "2s" } } ], "manifests": [ { "fileName": "main.m3u8", "type": "HLS", "muxStreams": [ "mux_video_ts" ], "maxSegmentCount": 5, "segmentKeepDuration": "60s", "key": "manifest_hls" } ], "streamingState": "STOPPED", "distributionStreams": [ { "key": "ds1", "container": "ts", "elementaryStreams": [ "es_video", "es_audio" ] } ], "distributions": [ { "key": "pd1", "distributionStream": "ds1", "state": "NOT_READY", "srtPush": { "uri": "srt://SRT_SERVER_IP:SRT_SERVER_PORT?streamid=SRT_SERVER_STREAM_ID" } } ] }
RTMP
在使用任何请求数据之前,请先进行以下替换:
PROJECT_NUMBER
:您的 Google Cloud 项目编号;该编号位于 IAM 设置页面上的项目编号字段中LOCATION
:频道所在的地理位置;请使用支持的地区之一显示位置us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
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, "sampleRateHertz": 48000 }, "key": "es_audio" } ], "muxStreams": [ { "key": "mux_video_ts", "container": "ts", "elementaryStreams": [ "es_video", "es_audio" ], "segmentSettings": { "segmentDuration": "2s" } } ], "manifests": [ { "fileName": "main.m3u8", "type": "HLS", "muxStreams": [ "mux_video_ts" ], "maxSegmentCount": 5, "segmentKeepDuration": "60s", "key": "manifest_hls" } ], "streamingState": "STOPPED", "distributionStreams": [ { "key": "ds1", "container": "flv", "elementaryStreams": [ "es_video", "es_audio" ] } ], "distributions": [ { "key": "pd1", "distributionStream": "ds1", "state": "NOT_READY", "rtmpPush": { "uri": "rtmp://RTMP_SERVER_IP:RTMP_SERVER_PORT/RTMP_APP_NAME", "streamKey": "RTMP_STREAM_KEY" } } ] }
完整响应包含以下字段:
{
...
"streamingState": "STOPPED",
"distributions": [
{
...
"state": "NOT_READY"
...
}
]
...
}
此响应表示频道的流式传输状态和频道分发情况。
如果分发处于 NOT_READY
状态,则无法启动分发。您必须等到状态变为 READY
才能开始分发直播。
创建第一个分发流最多可能需要 10 分钟。分发的状态与渠道状态无关;您可以先启动渠道,等待分发变为 READY
,然后再启动分发。
现在,您可以启动频道了。
创建频道
使用 projects.locations.channels.start
方法启动渠道。必须先启动频道,然后才能接受输入流或生成输出流。
在某个区域启动第一个频道大约需要 10 分钟。
在使用任何请求数据之前,请先进行以下替换:
PROJECT_NUMBER
:您的 Google Cloud 项目编号;该编号位于 IAM 设置页面上的项目编号字段中LOCATION
:频道所在的地理位置;请使用支持的地区之一显示位置us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
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 }
如需确定频道是否已开始,请像之前一样获取频道信息。响应应包含以下内容:
{
...
"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
频道现在正在直播,但分发仍处于停止状态。
开始分发
分发必须处于 READY
状态才能开始。如需开始将直播输出分发到所有远程端点,请使用 projects.locations.channels.startdistribution
方法。
在使用任何请求数据之前,请先进行以下替换:
PROJECT_NUMBER
:您的 Google Cloud 项目编号;该编号位于 IAM 设置页面上的项目编号字段中LOCATION
:频道所在的地理位置;请使用支持的地区之一显示位置us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
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": "startdistribution", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
您可以使用新的操作 ID 检查操作结果。开始分发后,如果输入流未启动,则分发可以处于 AWAITING_INPUT
状态;如果输入流正在分发到指定的端点,则分发可以处于 DISTRIBUTING
状态。
(可选)开始一组分发
您可以先开始分发部分内容,而不是一次性分发所有内容。列出您要启动的发行渠道,方法是将它们的键添加到 distributionKeys
数组列表中。
在使用任何请求数据之前,请先进行以下替换:
PROJECT_NUMBER
:您的 Google Cloud 项目编号;该编号位于 IAM 设置页面上的项目编号字段中LOCATION
:频道所在的地理位置;请使用支持的地区之一显示位置us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
:用户定义的渠道标识符DISTRIBUTION_KEYS
:以英文逗号分隔的字符串键列表(例如,"pd1"
)
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 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": "startdistribution", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
您可以使用新的操作 ID 检查操作结果。
验证分发是否正在运行
如需验证分发是否已开始,请按之前所述获取频道信息。响应应包含以下内容:
{
"distributions": [
{
...
"state": "DISTRIBUTING"
...
},
...
]
}
在远程 SRT 或 RTMP 服务器上,验证您创建的端点是否正在接收数据。
停止分发
如需停止向所有远程端点分发直播输出,请使用 projects.locations.channels.stopdistribution
方法。
在使用任何请求数据之前,请先进行以下替换:
PROJECT_NUMBER
:您的 Google Cloud 项目编号;该编号位于 IAM 设置页面上的项目编号字段中LOCATION
:频道所在的地理位置;请使用支持的地区之一显示位置us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
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": "stopdistribution", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
您可以使用新的操作 ID 检查操作结果。
(可选)停止一组分发
您可以停止一组分发,而不是一次性停止所有分发。通过将要停止的分发的键添加到 distributionKeys
数组列表中,列出要停止的分发。
在使用任何请求数据之前,请先进行以下替换:
PROJECT_NUMBER
:您的 Google Cloud 项目编号;该编号位于 IAM 设置页面上的项目编号字段中LOCATION
:频道所在的地理位置;请使用支持的地区之一显示位置us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
:用户定义的渠道标识符DISTRIBUTION_KEYS
:以英文逗号分隔的字符串键列表(例如,"pd1"
)
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 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": "stopdistribution", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
您可以使用新的操作 ID 检查操作结果。
SRT 加密支持
如果您使用 SRT 协议将直播输出分发到远程端点,Live Stream API 会使用 AES 加密来保护您的直播内容。
创建口令并准备远程 SRT 服务器
开始之前,请创建符合远程 SRT 服务器要求的 SRT 密码。口令通常应为 10-79 个字符的字符串。
通过在远程 SRT 服务器中设置相同的口令,确保解密过程正常运行。如需了解具体操作方法,请参阅远程 SRT 服务器的用户指南。
将口令添加到 Secret Manager
Live Stream API 不直接接受或管理口令。 您必须通过 Google Secret Manager 与 Live Stream API 共享口令。
您必须先完成所有这些步骤,然后才能配置渠道:
- 使用 Secret Manager 创建 Secret。
- 为您的密钥配置 Identity and Access Management 权限,以便 Live Stream API 可以访问密钥内容。为此,请向
service-PROJECT_NUMBER@gcp-sa-livestream.iam.gserviceaccount.com
服务账号授予secretmanager.secretAccessor
角色(这与服务账号有权访问您的 Cloud Storage 存储分区的方式类似)。 - 找到您创建的 Secret 版本的资源名称(例如
projects/PROJECT_NUMBER/secrets/SECRET_ID/versions/VERSION_ID
)。您需要此名称来配置渠道。
配置渠道
口令的密文版本在 SrtPushOutputEndpoint
中指定:
{
"distributions": [
{
"key": "pd1",
"distributionStream": "ds1", // defined in a distributionStreams[] object with an MPEG-TS container
"srtPush": {
"uri": "srt://{SRT_SERVER_IP}:{SRT_SERVER_PORT}?streamid={SRT_SERVER_STREAM_ID}",
"passphrase_secret_version": "projects/PROJECT_NUMBER/secrets/key1/versions/1"
}
}
]
}
清理
为避免因本面页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
停止频道
使用 projects.locations.channels.stop
方法停止渠道。您必须先停止频道,然后才能将其删除。
在使用任何请求数据之前,请先进行以下替换:
PROJECT_NUMBER
:您的 Google Cloud 项目编号;该编号位于 IAM 设置页面上的项目编号字段中LOCATION
:频道所在的地理位置;请使用支持的地区之一显示位置us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
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 }
您可以使用新的操作 ID 检查操作结果。
停止输入流
如果您使用 ffmpeg
发送输入源,则在停止频道后,连接会自动断开。
删除频道
使用 projects.locations.channels.delete
方法删除频道。您必须先删除频道,然后才能删除该频道使用的输入端点。
在使用任何请求数据之前,请先进行以下替换:
PROJECT_NUMBER
:您的 Google Cloud 项目编号;该编号位于 IAM 设置页面上的项目编号字段中LOCATION
:频道所在的地理位置;请使用支持的地区之一显示位置us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
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 }
您可以使用新的操作 ID 检查操作结果。
删除输入端点
使用 projects.locations.inputs.delete
方法删除输入端点。
在使用任何请求数据之前,请先进行以下替换:
PROJECT_NUMBER
:您的 Google Cloud 项目编号;该编号位于 IAM 设置页面上的项目编号字段中LOCATION
:输入端点所在的位置;请使用某个受支持的地区显示位置us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
INPUT_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 }
您可以使用新的操作 ID 检查操作结果。
删除 Cloud Storage 存储桶
在 Google Cloud 控制台中,前往 Cloud Storage 浏览器页面。
选中所创建存储分区旁边的复选框。
点击删除。
在随即显示的对话框窗口中,点击删除以删除相应存储桶及其内容。