本页介绍了如何使用安全可靠传输 (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-central1us-east1us-east4us-west1us-west2northamerica-northeast1southamerica-east1asia-east1asia-east2asia-south1asia-northeast1asia-southeast1australia-southeast1europe-north1europe-west1europe-west2europe-west3europe-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-central1us-east1us-east4us-west1us-west2northamerica-northeast1southamerica-east1asia-east1asia-east2asia-south1asia-northeast1asia-southeast1australia-southeast1europe-north1europe-west1europe-west2europe-west3europe-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-central1us-east1us-east4us-west1us-west2northamerica-northeast1southamerica-east1asia-east1asia-east2asia-south1asia-northeast1asia-southeast1australia-southeast1europe-north1europe-west1europe-west2europe-west3europe-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-central1us-east1us-east4us-west1us-west2northamerica-northeast1southamerica-east1asia-east1asia-east2asia-south1asia-northeast1asia-southeast1australia-southeast1europe-north1europe-west1europe-west2europe-west3europe-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-central1us-east1us-east4us-west1us-west2northamerica-northeast1southamerica-east1asia-east1asia-east2asia-south1asia-northeast1asia-southeast1australia-southeast1europe-north1europe-west1europe-west2europe-west3europe-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-central1us-east1us-east4us-west1us-west2northamerica-northeast1southamerica-east1asia-east1asia-east2asia-south1asia-northeast1asia-southeast1australia-southeast1europe-north1europe-west1europe-west2europe-west3europe-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-central1us-east1us-east4us-west1us-west2northamerica-northeast1southamerica-east1asia-east1asia-east2asia-south1asia-northeast1asia-southeast1australia-southeast1europe-north1europe-west1europe-west2europe-west3europe-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-central1us-east1us-east4us-west1us-west2northamerica-northeast1southamerica-east1asia-east1asia-east2asia-south1asia-northeast1asia-southeast1australia-southeast1europe-north1europe-west1europe-west2europe-west3europe-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-central1us-east1us-east4us-west1us-west2northamerica-northeast1southamerica-east1asia-east1asia-east2asia-south1asia-northeast1asia-southeast1australia-southeast1europe-north1europe-west1europe-west2europe-west3europe-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-central1us-east1us-east4us-west1us-west2northamerica-northeast1southamerica-east1asia-east1asia-east2asia-south1asia-northeast1asia-southeast1australia-southeast1europe-north1europe-west1europe-west2europe-west3europe-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-central1us-east1us-east4us-west1us-west2northamerica-northeast1southamerica-east1asia-east1asia-east2asia-south1asia-northeast1asia-southeast1australia-southeast1europe-north1europe-west1europe-west2europe-west3europe-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-central1us-east1us-east4us-west1us-west2northamerica-northeast1southamerica-east1asia-east1asia-east2asia-south1asia-northeast1asia-southeast1australia-southeast1europe-north1europe-west1europe-west2europe-west3europe-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-central1us-east1us-east4us-west1us-west2northamerica-northeast1southamerica-east1asia-east1asia-east2asia-south1asia-northeast1asia-southeast1australia-southeast1europe-north1europe-west1europe-west2europe-west3europe-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-central1us-east1us-east4us-west1us-west2northamerica-northeast1southamerica-east1asia-east1asia-east2asia-south1asia-northeast1asia-southeast1australia-southeast1europe-north1europe-west1europe-west2europe-west3europe-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 浏览器页面。
选中所创建存储分区旁边的复选框。
点击删除。
在随即显示的对话框窗口中,点击删除以删除相应存储桶及其内容。