获取rtsp拉流地址

一:通过cgi-api命令获取设备rtsp地址

获取设备的拉流地址IP,下发的 cgi : get_params.cgi?

1.1:查询接口返回,如果WebPwd 字段值为空,则需要修改设备文明密码;如果 WebPwd字段有值,则直接进行2.1

1.2:修改设备明文密码使用的cgi:

TEXT
第一步:
  set_users.cgi? <由自有服务端通过设备安全通道下发,不在页面 URL 中展示密码参数>
第二步:  
  set_users.cgi? <由自有服务端通过设备安全通道下发,不在页面 URL 中展示密码参数>
第三步  
  set_users.cgi? <由自有服务端通过设备安全通道下发,不在页面 URL 中展示密码参数>

修改密码cgi字段说明:

版本历史(最新:OwnerUser / string)
字段名 类型 备注
OwnerUser string 所有者用户
OwnerPwd string 所有者密码
ExUser string 用户
ExPwd string 明文密码
ExUserSwitch string 明文密码:0=关闭,1=开启

密码配置完成后,必须重新调用 get_params.cgi?,确认返回WebPwd字段已成功赋值,再进行后续操作。

2.1、拼接rtsp拉流地址

使用接口返回的 IP 和 WebPwd 设备明文密码拼接RTSP拉流地址:

TEXT
rtsp://:@example.com

拼接字段说明

占位符 类型 备注
admin string 固定值
10554 string 设备 RTSP 默认端口
/tcp/av0_0 string 主码流通道地址
{{WebPwd}} string 设备明文密码(RTSP 鉴权用)
{{IP}} string 设备 IP 地址

二、通过rest-api获取rtsp拉流地址

获取设备rtsp拉流地址

获取设备rtsp拉流地址

POSThttps://open.eye4cloud.com/{{open_id}}/open/v1/device/getRtspStreamAddress
请求数据
字段名 是否必传 类型 备注
device_id 是 string 设备id
timestamp 是 int64 时间戳,单位:秒
nonce 是 string 随机字符串,8~20个字符
sign 是 string 具体实现方法,请参考《生成sign的示例代码》
password 是 string 设备密码,不可为设备默认密码;设备恢复出厂设置时,请传入设备新密码
data 否 string 设备DATA,可传空字符串
imei 否 string 设备IMEI,可传空字符串
CURL请求示例
CURL
curl 'https://open.eye4cloud.com/{{open_id}}/open/v1/device/getRtspStreamAddress' \
  -H 'Content-Type: application/json' \
  --data-raw '{
    "device_id": "xxxx",
    "timestamp": 1758867195,
    "nonce": "",
    "sign": "",
    "password": ""
}'
返回数据
字段名 类型 备注
error_code int 状态码:0正常,其他异常
error_message string 错误信息:正常为success
data object {}
data.rtsp_url string rtsp拉流地址

示例:

JSON
{
    "error_code": 0,
    "error_message": "success",
    "error_tips": "",
    "data": {
      "rtsp_url":"rtsp://:@example.com"
    }
}