Get started
  • English
  • 简体中文
Official Site
Get started
  • English
  • 简体中文
Official Site
  • Get started
  • Concepts
  • Guides
  • Device capabilities & events
  • API reference
    • Public conventions
    • Development specification
    • accessToken: Get administrator token
    • API request example
    • Return codes
    • Interface call limits
    • Account docking
      • OAuth authorization
        • oauthTokenV2: Exchange or refresh OAuth tokens
        • getStreamUrl: Get RTSP stream URL
      • createSubAccount: Create Sub Account
      • getOpenIdByAccount: Get openid based on sub-account
      • deleteSubAccount: Delete subaccount
      • listSubAccount: Get the list of sub-accounts
      • subAccountToken: Get subaccount token
      • addPolicy: Add sub-account permissions
      • clearPolicy: Clear sub-account authorization policy
      • queryDevicePermission: Sub-account device dimension permission
      • deleteDevicePermission: Delete sub-account device permission
      • listSubAccountDevice: Query the list of devices with permissions for the sub-account
    • Device APIs
    • Device live broadcast
    • Push configuration
    • Cloud storage service
    • Resource pool quota
    • Legacy APIs (deprecated)
  • SDK and tools
  • Solutions
  • Platform and support
On this page
Function details
Request address
Request format
Incoming parameter description
Sample input
Return data field description
Sample output
Error codes
Related

getStreamUrl: Get RTSP stream URL

getStreamUrl: Get RTSP stream URL

Function details

Return an RTSP playback URL for a device channel authorized to your OAuth project. Use the OAuth project Access Key as system.appId and the end user's OAuth access token in params.token.

Obtain tokens with oauthTokenV2. Product context: OAuth 2.0 authorization.

Request address

https://openapi-[DataCenter].easy4ip.com/openapi/getStreamUrl

Request format

HTTP POST. JSON body layout: Request conventions. Sign with Signature.

Incoming parameter description

Parameter nameParameter typeRequiredDescription
tokenStringYesEnd user OAuth access token (Ot_)
deviceIdStringYesDevice serial number
productIdStringNoIoT device product id
channelIdIntegerYesChannel id
streamIdIntegerYesStream type: 0 main stream, 1 sub stream

Sample input

{
  "system": {
    "ver": "1.0",
    "appId": "<OAuth Project Access Key>",
    "sign": "xjhCQBoJ9hRDsCjyDcHjtDNzRZ3ZJezcawsfWeiaoxU=",
    "time": 1603366946,
    "nonce": "2e84717c-0f22-4424-8afe-19bab0d6d606"
  },
  "id": "051824b1-9655-4755-9cc2-adcc9ab5fef1",
  "params": {
    "token": "Ot_xxxxxxxxxxxxxxxxxx",
    "deviceId": "TESTQWERXXXX",
    "channelId": 0,
    "streamId": 0
  }
}

Return data field description

FieldTypeDescription
urlStringRTSP stream URL for third-party players

Sample output

{
  "result": {
    "msg": "The operation was successful.",
    "code": "0",
    "data": {
      "url": "rtsp://example.lechange.com/live/xxxxxxxx"
    }
  },
  "id": "051824b1-9655-4755-9cc2-adcc9ab5fef1"
}

Error codes

This method may return the codes below. See Return codes and Capability errors for the full catalog.

Gateway and auth (SN / TK / OP)

CodeMeaningNext step
SN1001Signature errorCheck sign per Development specification
TK1002Token invalid or expiredRefresh accessToken
OP1002Missing required parameterAdd required fields
OP1003Invalid parameterMatch this page’s parameter table
OP1009Permission deniedCheck token and device bind/share grants
OP1013Total call limit exceededReduce call rate
OP1014Daily per-interface limit exceededSee Interface call limits
DV1007Device offlineWait until the device is online

See Return codes · OP/SN/TK for the full catalog.

Sub-accounts (SUB)

CodeMeaningNext step
SUB1001–SUB1002Sub-account lacks API permissionUpdate policy via addPolicy
SUB1005Sub-account token expiredRefresh subAccountToken
SUB1006No device grant for sub-accountCheck Resource and device serial
SUB1008Sub-account not bound to appCreate and bind the sub-account first

See Return codes · SUB.

Related

  • Development specification
  • oauthTokenV2
  • OAuth authorization module
oauthTokenV2: Exchange or refresh OAuth tokens
createSubAccount: Create Sub Account