2.1. 媒體 REST API?

2.1.1. 版本信息?

v1.0.5, 2017/05/11

2.1.2. 接入和授權?

請求說明: GET http://xx.yy.zz:8080/rtc/auth/valid HTTP/1.1

接口描述: MCU對客戶端進行認證

參數 類型 必須 說明
access_key String 平臺賦予客戶端的key
digest String

digest為按一定規則生成的串,規則說明如下:

base64(hash_hmac(access_key,secret_key),

secret_key為平臺賦予客戶端和access_key匹配的串,用于安全認證

返回說明:

http 響應:json
{
    "ret": 0,
    "random": "random",
    "key": "key"
}

access_token計算規則: access_token = base64(hash_hmac(random:key, secret_key))

主要返回碼: 0,401,504

2.1.3. 創建房間?

請求說明: GET http://xx.yy.zz:8080/rtc/room/create HTTP/1.1

接口描述: 創建房間

參數 類型 必須 說明
access_token String 認證成功后根據規則生成的串
topic String 房間主題,小于150字節
owner_id String 房間創建者ID
room_mode enum

1:mcu自由模式

2:mcu主持人模式

3: P2P自由模式

4: P2P主持人模式

目前1,2的邏輯基本一致的,3,4用于P2P的方式

host_password String 主持人密碼,如果加入房間時密碼和主持人密碼那邊用戶的角色為主持人
max_video Number 房間最大視頻數
max_audio Number 房間最大音頻數
attendee_max Number 房間最大人數
room_extend_id String 需要保證唯一最好是UUID,否則創建房間有可能失敗,room_id和room_extend_id為同一個值

返回說明:

http 響應:json
{
    "ret": 0,
    "room_id": "room_id"
}

room_id為房間號

主要返回碼: 0,407,602,700

2.1.4. 根據房間號獲取房間信息?

請求說明: GET http://xx.yy.zz:8080/rtc/room/get HTTP/1.1

接口描述: 根據房間號獲取房間

參數 類型 必須 說明
access_token String 認證成功后根據規則生成的串
room_id String 房間號

返回說明:

http 響應:json
{
    "ret": 0,
    "id": 1,
    "room_id": "room_id",
    "topic": "topic",
    "room_status": 0,
    "owner_id": "owner_id",
    "host_password": "host_password",
    "attendee_max": "attendee_max",
    "max_audio": "max_audio",
    "max_video": "max_video",
    "room_extend_id": "room_extend_id",
    "room_mode": "room_mode"
}

主要返回碼: 0,404,602

2.1.5. 刪除房間?

請求說明: GET http://xx.yy.zz:8080/rtc/room/del HTTP/1.1 接口描述: 根據房間號獲取房間

參數 類型 必須 說明
access_token String 認證成功后根據規則生成的串
room_id String 房間號
http 響應:json
{
    "ret": 0,
    "room_id": "room_id"
}

主要返回碼: 0,404,602

2.1.6. 獲取房間mcu地址?

請求說明: GET http://xx.yy.zz:8080/sdk/get_mcu HTTP/1.1

接口描述: 根據房間號獲取房間

參數 類型 必須 說明
access_token String 認證成功后根據規則生成的串
room_id String 房間號
http 響應:json
{
    "ret": 0,
    "addr": "addr"
}

主要返回碼: 0,407,410,411

2.1.7. 根據房間號獲取房間信息?

請求說明: GET http://xx.yy.zz:8080/rtc/room/get_room_info HTTP/1.1

接口描述: 根據房間號獲取房間

參數 類型 必須 說明
access_token String 認證成功后根據規則生成的串
room_id String 房間號
http 響應:json
{
    "ret": 0,
    "user_list": [
      {
         "user_name": "ming15",
         "user_id": "2eba97ef-7f6b-4d5f-b196-800ef6983192"
      }
    ]
}

主要返回碼: 0,404,602

2.1.8. 強制房間中的用戶下線?

請求說明: GET http://xx.yy.zz:8080/rtc/force_offline_mcu HTTP/1.1

接口描述: 用戶踢下線

參數 類型 必須 說明
access_token String 認證成功后根據規則生成的串
room_id String 房間號
user_id String 用戶ID
http 響應:json
{
    "ret": 0,
    "msg": “succ”,
}

主要返回碼: 0,404,602,417,428

2.1.9. 錯誤碼表?

ret 詳細描述
0 成功
401 認證失敗
404 房間未找到
405 licence過期
407 參數錯誤
408 http請求不支持
409 http內部超時
410 沒有可用MCU
411 超過最大licence
504 超時
602 access_token不正確
700 數據庫錯誤
701 沒有P2P權限
417 MCU不在線
428 沒有找到房間分配給了那個mcu
429 用戶不在線
416 房間被關閉