本页介绍了如何创建和管理 Live Stream API 频道剪辑。 频道剪辑是频道的子资源。您可以使用频道片段来 通过直播创建视频点播 (VOD) 文件。这些 VOD 文件会保存到 Cloud Storage。如需了解详情,请参阅 从直播创建 VOD 片段。
设置您的 Google Cloud 项目和身份验证
如果您尚未创建 Google Cloud 项目和凭据,请参阅开始前须知。前提条件
你必须先创建以下资源,然后才能创建频道剪辑:
创建频道剪辑
请务必启动频道 并开始将内容流式传输到频道中,然后再创建频道片段。
如需创建渠道剪辑,请使用 projects.locations.channels.clips.create
方法。
在使用任何请求数据之前,请先进行以下替换:
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
:用户定义的频道标识符CLIP_ID
:VOD 剪辑的用户定义标识符MARK_IN_TIME
:标记中的 Unix 纪元时间 原始直播清单;使用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)中的时间戳格式(例如,2014-10-02T15:01:23Z
)MARK_OUT_TIME
:标记 Unix 纪元时间 原始直播活动清单中;使用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)中的时间戳格式( 示例:2014-10-02T15:01:23Z
)BUCKET_NAME
:Cloud Storage 的名称 您创建的存储桶,用于保存 VOD 剪辑清单和片段文件;您可以使用同一个存储桶 您为直播清单或其他存储桶创建的;还可以将一个目录 name 更改为存储桶名称(例如my-bucket/vod-clip
)
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 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/clips/CLIP_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
此命令会创建一个长时间运行的操作 (LRO),供您使用 来跟踪请求的进展情况请参阅 管理长时间运行的操作 了解详情。
获取频道剪辑的详细信息
要获取频道剪辑的详细信息,请使用
projects.locations.channels.clips.get
方法。
在使用任何请求数据之前,请先进行以下替换:
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
:用户定义的频道标识符CLIP_ID
:VOD 剪辑的用户定义标识符
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/clips/CLIP_ID", "createTime": CREATE_TIME, "startTime": START_TIME, "updateTime": UPDATE_TIME, "state": "SUCCEEDED", "outputUri": "gs://BUCKET_NAME", "slices": [ { "timeSlice": { "markinTime": "MARK_IN_TIME", "markoutTime": "MARK_OUT_TIME" } } ], "features": {}, "clipManifests": [ { "manifestKey": "manifest_hls", "outputUri": "gs://BUCKET_NAME/main.m3u8" } ] }
只能提供每个频道最近的 1000 条剪辑作业记录
使用
projects.locations.channels.clips.get
方法。超过此限制的所有剪辑作业记录都将被移除。您必须管理生成的剪辑
由
outputUri
;
Live Stream API 不会从 Cloud Storage 中删除这些文件。
列出频道剪辑
要列出您为某个频道创建的所有频道剪辑,请使用
projects.locations.channels.clips.list
方法。
在使用任何请求数据之前,请先进行以下替换:
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 响应:
{ "clips": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/clips/CLIP_ID", "createTime": CREATE_TIME, "startTime": START_TIME, "updateTime": UPDATE_TIME, "state": "SUCCEEDED", "outputUri": "gs://BUCKET_NAME", "slices": [ { "timeSlice": { "markinTime": "MARK_IN_TIME", "markoutTime": "MARK_OUT_TIME" } } ], "features": {}, "clipManifests": [ { "manifestKey": "manifest_hls", "outputUri": "gs://BUCKET_NAME/main.m3u8" } ] }, { "name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/clips/my-clip2", "createTime": CREATE_TIME, "startTime": START_TIME, "updateTime": UPDATE_TIME, "state": "SUCCEEDED", "outputUri": "gs://BUCKET_NAME", "slices": [ { "timeSlice": { "markinTime": "MARK_IN_TIME", "markoutTime": "MARK_OUT_TIME" } } ], "features": {}, "clipManifests": [ { "manifestKey": "manifest_hls", "outputUri": "gs://BUCKET_NAME/main.m3u8" } ] } ] }