本文以Python SDK为例介绍基本接口的使用案例。
初始化client
import os
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_vs20181212 import models as vs_20181212_models
from alibabacloud_tea_util import models as util_models
from alibabacloud_vs20181212.client import Client as vs20181212Client
config = open_api_models.Config(
    # 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。,
    access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
    # 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。,
    access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
)
# Endpoint 请参考 https://api.aliyun.com/product/vs
config.endpoint = f'vs.cn-qingdao.aliyuncs.com'
c = vs20181212Client(config)
获取空间列表
describe_groups_request = vs_20181212_models.DescribeGroupsRequest(
    page_num=1    # 可选,指定查询第几页
)
runtime = util_models.RuntimeOptions()
resp = c.describe_groups_with_options(describe_groups_request, runtime)
print(resp)
获取设备列表
- 可按照空间ID查询空间内的设备列表。若空间ID未知,请先参考获取空间列表选取目标空间。 
describe_devices_request = vs_20181212_models.DescribeDevicesRequest(
    id='id'    # 可选,指定空间ID查询
)
runtime = util_models.RuntimeOptions()
resp = c.describe_devices_with_options(describe_devices_request, runtime)
print(resp)
获取流列表
describe_streams_request = vs_20181212_models.DescribeStreamsRequest(
    group_id='GroupId',      # 可选,指定空间ID查询
    device_id='DeviceId'     # 可选,指定设备ID查询
)
runtime = util_models.RuntimeOptions()
resp = c.describe_streams_with_options(describe_streams_request, runtime)
print(resp)
获取流的播放地址
- 可根据流ID获取播放地址。若流ID未知,请先参考获取流列表选取目标流。 
describe_stream_urlrequest = vs_20181212_models.DescribeStreamURLRequest(
    id='id',                # 必选,流ID
    out_protocol='rtmp',    # 必选,播放协议。取值:rtmp、flv、hls
    auth_key='AuthKey',     # 必选,播放域名关联的主key,用于生成鉴权URL
    type='live'             # 可选,流类型。取值:live、vod
)
runtime = util_models.RuntimeOptions()
resp = c.describe_stream_urlwith_options(describe_stream_urlrequest, runtime)
print(resp)
获取录制列表
- 可根据流ID获取录制列表。若流ID未知,请先参考获取流列表选取目标流。 
describe_records_request = vs_20181212_models.DescribeRecordsRequest(
    type='record',         # 必选,按存储记录类型查询。取值:record(录制),snapshot(截图)
    stream_id='StreamId',  # 必选,流ID
    start_time='StreamTime',  # 必选,查询的开始时间。格式:2019-10-08T14:02:00Z
    end_time='EndTime',   # 必选,查询的结束时间。格式:2019-10-09T14:02:00Z
    page_num=1,           # 可选,第几个分页,默认为1
    page_size=20          # 可选,分页大小,默认为20
)
runtime = util_models.RuntimeOptions()
resp = c.describe_records_with_options(describe_records_request, runtime)
print(resp)
该文章对您有帮助吗?