本文以Python SDK为例介绍基本接口的使用案例。
初始化client
import json
from aliyunsdkcore import client
# 需使用不同的region id来访问不同的region,比如:cn-qingdao
c = client.AcsClient("<your-access-key-id>", "<your-access-key-secret>", "cn-shanghai")
获取空间列表
req = DescribeGroupsRequest.DescribeGroupsRequest()
req.set_PageNum(1) # 可选,指定查询第几页
resp = c.do_action_with_exception(req)
data = json.loads(resp)
groups = data['Groups']
获取设备列表
- 可按照空间ID查询空间内的设备列表。若空间ID未知,请先参考”获取空间列表”选取目标空间。
req = DescribeDevicesRequest.DescribeDevicesRequest()
req.set_GroupId(groups[0]['Id']) # 可选,指定空间ID查询
resp = c.do_action_with_exception(req)
data = json.loads(resp)
devices = data['Devices']
获取流列表
- 可按照空间ID查询空间内的流列表。若空间ID未知,请先参考”获取空间列表”选取目标空间。
- 亦可按照设备ID查询设备上的流列表。若设别ID未知,请先参考”获取设备列表”选取目标设备。
req = DescribeStreamsRequest.DescribeStreamsRequest()
req.set_GroupId(groups[0]['Id']) # 可选,指定空间ID查询
req.set_DeviceId(devices[1]['Id']) # 可选,指定设备ID查询
resp = c.do_action_with_exception(req)
data = json.loads(resp)
streams = data['Streams']
获取流的播放地址
- 可根据流ID获取播放地址。若流ID未知,请先参考”获取流列表”选取目标流。
req = DescribeStreamURLRequest.DescribeStreamURLRequest()
req.set_Id(streams[0]['Id']) # 必选,流ID
req.set_OutProtocol('rtmp') # 必选,播放协议。取值:rtmp、flv、hls
req.set_AuthKey('<AuthKey>') # 必选,播放域名关联的主key,用于生成鉴权URL
req.set_Expire(86400) # 可选,播放地址过期时间,单位秒
resp = c.do_action_with_exception(req)
data = json.loads(resp)
url = data['Url']
获取录制列表
- 可根据流ID获取播放地址。若流ID未知,请先参考”获取流列表”选取目标流。
request = DescribeRecordsRequest.DescribeRecordsRequest()
request.set_StreamId("StreamId") # 必选,流ID
request.set_StartTime("StartTime") #必选,查询的开始时间。格式:2019-10-08T14:02:00Z 必传
request.set_EndTime("EndTime") # 必选,查询的结束时间。
request.set_Type(" record") # 必选,按存储记录类型查询。取值:record(录制),snapshot(截图)
request.set_PageSize(20) # 可选,分页大小,默认为20。
request.set_PageNum(1) # 可选,第几个分页,默认为1
response=c.do_action_with_exception(request)
data = json.loads(resp)
records = data['Records']
反馈
- 本页导读 (1)
文档反馈