全部产品

场景案例

本文以Python SDK为例介绍基本接口的使用案例。

初始化client

  1. import json
  2. from aliyunsdkcore import client
  3. # 需使用不同的region id来访问不同的region,比如:cn-qingdao
  4. c = client.AcsClient("<your-access-key-id>", "<your-access-key-secret>", "cn-shanghai")

获取空间列表

  1. req = DescribeGroupsRequest.DescribeGroupsRequest()
  2. req.set_PageNum(1) # 可选,指定查询第几页
  3. resp = c.do_action_with_exception(req)
  4. data = json.loads(resp)
  5. groups = data['Groups']

获取设备列表

  • 可按照空间ID查询空间内的设备列表。若空间ID未知,请先参考”获取空间列表”选取目标空间。
  1. req = DescribeDevicesRequest.DescribeDevicesRequest()
  2. req.set_GroupId(groups[0]['Id']) # 可选,指定空间ID查询
  3. resp = c.do_action_with_exception(req)
  4. data = json.loads(resp)
  5. devices = data['Devices']

获取流列表

  • 可按照空间ID查询空间内的流列表。若空间ID未知,请先参考”获取空间列表”选取目标空间。
  • 亦可按照设备ID查询设备上的流列表。若设别ID未知,请先参考”获取设备列表”选取目标设备。
  1. req = DescribeStreamsRequest.DescribeStreamsRequest()
  2. req.set_GroupId(groups[0]['Id']) # 可选,指定空间ID查询
  3. req.set_DeviceId(devices[1]['Id']) # 可选,指定设备ID查询
  4. resp = c.do_action_with_exception(req)
  5. data = json.loads(resp)
  6. streams = data['Streams']

获取流的播放地址

  • 可根据流ID获取播放地址。若流ID未知,请先参考”获取流列表”选取目标流。
  1. req = DescribeStreamURLRequest.DescribeStreamURLRequest()
  2. req.set_Id(streams[0]['Id']) # 必选,流ID
  3. req.set_OutProtocol('rtmp') # 必选,播放协议。取值:rtmp、flv、hls
  4. req.set_AuthKey('<AuthKey>') # 必选,播放域名关联的主key,用于生成鉴权URL
  5. req.set_Expire(86400) # 可选,播放地址过期时间,单位秒
  6. resp = c.do_action_with_exception(req)
  7. data = json.loads(resp)
  8. url = data['Url']

获取录制列表

  • 可根据流ID获取播放地址。若流ID未知,请先参考”获取流列表”选取目标流。
  1. request = DescribeRecordsRequest.DescribeRecordsRequest()
  2. request.set_StreamId("StreamId") # 必选,流ID
  3. request.set_StartTime("StartTime") #必选,查询的开始时间。格式:2019-10-08T14:02:00Z 必传
  4. request.set_EndTime("EndTime") # 必选,查询的结束时间。
  5. request.set_Type(" record") # 必选,按存储记录类型查询。取值:record(录制),snapshot(截图)
  6. request.set_PageSize(20) # 可选,分页大小,默认为20。
  7. request.set_PageNum(1) # 可选,第几个分页,默认为1
  8. response=c.do_action_with_exception(request)
  9. data = json.loads(resp)
  10. records = data['Records']