调用该接口,获取本地NVR设备或IPC设备的存储卡中,指定录像文件名的录像文件URL。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String QueryDeviceVodUrl

系统规定参数。取值:QueryDeviceVodUrl。

FileName String file1

录像文件名。可调用物联网平台提供的InvokeThingService查询,其中请求参数示例,请参见下方的请求参数补充说明

说明 录像文件名长度不得超过180个字符。
Scheme String rtmp

协议类型:

  • rtmp:RTMP协议。
  • flv:HTTP-FLV协议。
  • hls:HLS协议。
    说明 HLS协议使用限制详细内容,请参见云端开发
SeekTime Integer 0

相对于录像开始时间BeginTime的偏移量,单位为秒,默认值为0。

IotInstanceId String iot-cn-n6w1y59****

实例ID。您可在物联网平台控制台的实例概览页面,查看当前实例的ID

重要
  • 若有ID值,必须传入该ID值,否则调用会失败。
  • 若无ID值,则无需传入。

实例的更多信息,请参见实例概述

ProductKey String a1BwAGV****

IPC设备所属产品的ProductKey。

您可以在物联网平台控制台产品页查看或调用QueryProductList查看当前账号下所有产品的信息。

重要 如果传入该参数,需同时传入DeviceName
DeviceName String camera1

IPC设备的设备名称。

您可以在物联网平台控制台的设备页查看DeviceName

重要 如果传入该参数,需同时传入ProductKey
EnableStun Boolean false

是否启用P2P。

  • true:启用。
  • false(默认):不启用。
说明 该功能仅支持白名单用户使用,如需了解使用相关功能,请发送邮件至cangyu.fhb@alibaba-inc.com进行咨询。
ShouldEncrypt Boolean false

是否加密:

  • true:加密
  • false(默认):不加密
IotId String zLZyi6aOLyOSHa9hsPyD00****

IPC设备的设备ID。物联网平台为该设备颁发的ID,设备的唯一标识符。可调用物联网平台QueryDeviceDetail查询。

重要 如果传入该参数,则无需传入ProductKeyDeviceNameIotId作为设备唯一标识符,和ProductKeyDeviceName的组合是一一对应的关系。如果您同时传入IotIdProductKeyDeviceName的组合,则以IotId为准。
UrlValidDuration Integer 60

URL有效期,取值范围为10~14400,单位为秒。默认值为10。

PlayUnLimited Boolean false

播放地址是否可以无限次使用:

  • true:10秒内可无限次使用。
  • 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

接口返回码:

  • 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

是否调用成功:

  • true:调用成功。
  • false:调用失败。

示例

请求示例

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&amp;productKey=g2zbxxxxxx&amp;udpRequestTimeout=300&amp;udpRequestRetryNum=5&amp;p2pSessionTimeout=10000&amp;maxPortDetectNum=20&amp;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&amp;productKey=g2zbxxxxxx&amp;udpRequestTimeout=300&amp;udpRequestRetryNum=5&amp;p2pSessionTimeout=10000&amp;maxPortDetectNum=20&amp;packetsPerSecond=1\\\"}",
        "DecryptKey": "{\"iv\":\"MDEy**********+Pw==\",\"key\":\"TuqB5bpZ+589v********==\"}",
        "VodUrl": "rtmp://***/***.mp4"
    },
    "Code": 200,
    "Success": true
}

错误码

访问错误中心查看更多错误码。