调用该接口,获取本地NVR设备或IPC设备的存储卡中,指定录像文件名的录像文件URL。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | QueryDeviceVodUrl | 系统规定参数。取值:QueryDeviceVodUrl。 |
FileName | String | 是 | file1 | 录像文件名。可调用物联网平台提供的InvokeThingService查询,其中请求参数示例,请参见下方的请求参数补充说明。 说明 录像文件名长度不得超过180个字符。 |
Scheme | String | 否 | rtmp | 协议类型:
|
SeekTime | Integer | 否 | 0 | 相对于录像开始时间BeginTime的偏移量,单位为秒,默认值为0。 |
IotInstanceId | String | 否 | iot-cn-n6w1y59**** | 实例ID。您可在物联网平台控制台的实例概览页面,查看当前实例的ID。 重要
实例的更多信息,请参见实例概述。 |
ProductKey | String | 否 | a1BwAGV**** | IPC设备所属产品的ProductKey。 您可以在物联网平台控制台产品页查看或调用QueryProductList查看当前账号下所有产品的信息。 重要 如果传入该参数,需同时传入DeviceName。
|
DeviceName | String | 否 | camera1 | IPC设备的设备名称。 您可以在物联网平台控制台的设备页查看DeviceName。 重要 如果传入该参数,需同时传入ProductKey。
|
EnableStun | Boolean | 否 | false | 是否启用P2P。
说明 该功能仅支持白名单用户使用,如需了解使用相关功能,请发送邮件至 cangyu.fhb@alibaba-inc.com 进行咨询。 |
ShouldEncrypt | Boolean | 否 | false | 是否加密:
|
IotId | String | 否 | zLZyi6aOLyOSHa9hsPyD00**** | IPC设备的设备ID。物联网平台为该设备颁发的ID,设备的唯一标识符。可调用物联网平台QueryDeviceDetail查询。 重要 如果传入该参数,则无需传入ProductKey和DeviceName。IotId作为设备唯一标识符,和ProductKey与DeviceName的组合是一一对应的关系。如果您同时传入IotId和ProductKey与DeviceName的组合,则以IotId为准。
|
UrlValidDuration | Integer | 否 | 60 | URL有效期,取值范围为10~14400,单位为秒。默认值为10。 |
PlayUnLimited | Boolean | 否 | false | 播放地址是否可以无限次使用:
|
EncryptType | Integer | 否 | 0 | 加密类型。目前仅支持I帧加密,取值为0。 |
请求参数补充说明
InvokeThingService接口请求参数示例如下,详细信息,请参见本地录像播放。
https://iot.cn-shanghai.aliyuncs.com/?Action=InvokeThingService
&ProductKey=a1BwAGV****
&DeviceName=device1
&Identifier=QueryRecordList //服务的标识符
&Args={ //要启用服务的入参信息,数据格式为JSON String
"BeginTime":10, //录像文件查询范围的起始时间,单位为秒,取值范围为0~2147483647
"Type":0, //录像类型。0表示计划录像,1表示报警录像,2表示主动录像,99表示所有录像
"QuerySize":2, //查询记录数,取值范围为0~128
"EndTime":1541662222 //录像文件查询范围的结束时间,单位为秒,取值范围为0~2147483647
}
&<公共请求参数>
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
Code | String | 200 | 接口返回码:
|
Data | Struct | 查询结果。 |
|
DecryptKey | String | {\"iv\":\"MDEy**********+Pw==\",\"key\":\"TuqB5bpZ+589v********==\"} | 解密密钥。 设置ShouldEncrypt参数为true时,生成解密密钥。 |
StunInfo | String | {\"stunUrl\":\"101.***.***.**:3478?key=MuJtPMYxxxxxA&productKey=g2zbxxxxxx&udpRequestTimeout=300&udpRequestRetryNum=5&p2pSessionTimeout=10000&maxPortDetectNum=20&packetsPerSecond=1\"} | P2P服务地址。 |
VodUrl | String | rtmp://***/***.mp4 | 本地录像URL。 |
ErrorMessage | String | product is not active. | 调用失败时,返回的出错信息。 |
RequestId | String | 06DC77A0-4622-42DB-9EE0-25FIOHS82JK1 | 阿里云为该请求生成的唯一标识符。 |
Success | Boolean | true | 是否调用成功:
|
示例
请求示例
http(s)://linkvisual.cn-shanghai.aliyuncs.com/?Action=QueryDeviceVodUrl
&FileName=file1
&IotId=zLZyi6aOLyOSHa9hsPyD00****
&IotInstanceId=iot-cn-n6w1y59****
&<公共请求参数>
正常返回示例
XML
格式
<QueryDeviceVodUrlResponse>
<RequestId>06DC77A0-4622-42DB-9EE0-25FIOHS82JK1</RequestId>
<Data>
<StunInfo>{\"stunUrl\":\"101.***.***.**:3478?key=MuJtPMYxxxxxA&productKey=g2zbxxxxxx&udpRequestTimeout=300&udpRequestRetryNum=5&p2pSessionTimeout=10000&maxPortDetectNum=20&packetsPerSecond=1\"}</StunInfo>
<DecryptKey>{\"iv\":\"MDEy**********+Pw==\",\"key\":\"TuqB5bpZ+589v********==\"}</DecryptKey>
<VodUrl>rtmp://***/***.mp4</VodUrl>
</Data>
<Code>200</Code>
<Success>true</Success>
</QueryDeviceVodUrlResponse>
JSON
格式
{
"RequestId": "06DC77A0-4622-42DB-9EE0-25FIOHS82JK1",
"Data": {
"StunInfo": "{\\\"stunUrl\\\":\\\"101.***.***.**:3478?key=MuJtPMYxxxxxA&productKey=g2zbxxxxxx&udpRequestTimeout=300&udpRequestRetryNum=5&p2pSessionTimeout=10000&maxPortDetectNum=20&packetsPerSecond=1\\\"}",
"DecryptKey": "{\"iv\":\"MDEy**********+Pw==\",\"key\":\"TuqB5bpZ+589v********==\"}",
"VodUrl": "rtmp://***/***.mp4"
},
"Code": 200,
"Success": true
}
错误码
访问错误中心查看更多错误码。