互动 API

互动房间管理

创建互动房间

API 地址

api.vhallyun.com/api/v1/inav/create

描述

互动房间是视频流的载体,创建互动房间后,可使发起互动直播

入参

关于公共请求参数详细内容,请参考 公共请求参数

参数 类型 是否必选 含义
join_max_num int 最大参会人数,(最小为1,最大为16,默认16)

出参

参数 类型 是否必选 含义
inav_id string 互动房间ID

错误码

错误码 类型 含义

响应格式

{
    "code": 200,
    "msg": "",
    "data": {
        "inav_id": "inav_69178ce4"
    }
}

删除房间

API 地址

api.vhallyun.com/api/v1/inav/delete

描述

删除互动房间,和创建互动房间对应

入参

关于公共请求参数详细内容,请参考 公共请求参数

参数 类型 是否必选 含义
inav_id string 互动房间ID

出参

参数 类型 是否必选 含义
delete_inav_id string 删除互动房间ID

错误码

错误码 类型 含义
20012 int 互动房间查询为空
30014 int 不是当前互动房间拥有者
50002 int 系统删除失败

响应格式

{
    "code": 200,
    "msg": "",
    "data": {
        "delete_inav_id": "inav_87dfa7ef"
    }
}

封停互动房间

API 地址

api.vhallyun.com/api/v1/inav/disable

描述

当视频被认为是违规或其他情况,封停互动房间接口,可使视频流不在分发,观看端无法继续观看

入参

关于公共请求参数详细内容,请参考 公共请求参数

参数 类型 是否必选 含义
inav_id string 互动房间ID

出参

参数 类型 是否必选 含义
disable_inav_id string 封停互动房间ID

错误码

错误码 类型 含义
20012 int 互动房间查询为空
30014 int 不是当前互动房间拥有者
50001 int 系统更新错误

响应格式

{
    "code": 200,
    "msg": "",
    "data": {
        "disable_inav_id": "inav_87dfa7ef"
    }
}

解封房间

API 地址

api.vhallyun.com/api/v1/inav/enable

描述

和封停互动房间对应,解除对互动房间的封停

入参

关于公共请求参数详细内容,请参考 公共请求参数

参数 类型 是否必选 含义
inav_id string 互动房间ID

出参

参数 类型 是否必选 含义
enable_inav_id string 解封互动房间ID

错误码

错误码 类型 含义
20012 int 互动房间查询为空
30014 int 不是当前互动房间拥有者
50001 int 系统更新错误

响应格式

{
    "code": 200,
    "msg": "",
    "data": {
        "enable_inav_id": "inav_87dfa7ef"
    }
}

互动房间列表

API 地址

api.vhallyun.com/api/v1/inav/lists

描述

按当前公共参数传入app_id对应的应用,获取互动房间列表

入参

关于公共请求参数详细内容,请参考 公共请求参数

参数 类型 是否必选 含义
pos int 获取条目节点,默认为 0。eg : 10, 从第10条开始查询
limit int 获取条目数量, 默认为 10 条, 最大为1000条

出参

参数 类型 是否必选 含义
inav_id string 互动房间ID
app_id string app_id
is_disable int 是否禁停房间,0 非禁停,1 禁停
created_at string 创建时间

错误码

错误码 类型 含义
40008 int 分页起始提条目不正确
40009 int 分页条目不正确
20002 int 房间查询为空

响应格式

{
    "code": 200,
    "msg": "",
    "data": [
        {
            "inav_id": "inav_b42cd4bd",
            "app_id": "app_id_1",
            "is_disable": 0,
            "created_at": "2017-12-04 11:01:16"
        },
        {
            "inav_id": "inav_b88e1673",
            "app_id": "app_id_1",
            "is_disable": 0,
            "created_at": "2017-12-04 11:18:54"
        }
    ]
}

获取互动房间状态

API 地址

api.vhallyun.com/api/v1/inav/get-status

描述

根据传入的互动房间ID,获取当前互动房间流状态

入参

关于公共请求参数详细内容,请参考 公共请求参数

参数 类型 是否必选 含义
inav_id string 互动房间ID

出参

参数 类型 是否必选 含义
status int 当前状态 0 无流 1 推流中

错误码

错误码 类型 含义
20012 int 互动房间查询为空
30014 int 不是当前互动房间拥有者

响应格式

{
    "code": 200,
    "msg": "",
    "data": {

    }
}

获取互动房间流状态

API 地址

api.vhallyun.com/api/v1/inav/get-stream

描述

根据传入的互动房间ID,获取当前互动房间流信息

入参

关于公共请求参数详细内容,请参考 公共请求参数

参数 类型 是否必选 含义
inav_id string 互动房间ID

出参(数组)

参数 类型 是否必选 含义
third_party_user_id string 第三方用户id
stream_id string 流id

错误码

错误码 类型 含义
20012 int 互动房间查询为空
30014 int 不是当前互动房间拥有者
40031 int 当前互动房间没有推流

响应格式

{
  "code": 200,
  "msg": "",
  "data": {
    "list": [
      {
        "third_party_user_id": "4",
        "stream_id": "686965482530362200"
      },
      {
        "third_party_user_id": "4",
        "stream_id": "686965482530361100"
      }
    ]
  }
}

发起旁路直播

API 地址

api.vhallyun.com/api/v1/inav/push-another

描述

根据传入互动房间ID和直播房间ID,将互动房间流按传入格式混流后推入直播房间中

入参

关于公共请求参数详细内容,请参考 公共请求参数

参数 类型 是否必选 含义
inav_id string 互动房间ID
room_id string 直播房间ID
dpi string 分辨率 16:9 [ 480P, 540P, 720P (默认)] 4:3 [ 43_480P, 43_540P, 43_960P ]
frame_rate string 帧率 15, 20 (默认), 25 帧
bitrate string 码率 800, 1000 (默认), 1200
layout string 旁路直播布局 具体见下旁路直播布局设置
max_screen_stream string 设置屏占比最大的流ID

layout 布局参数设置

参数 类型 含义
CANVAS_LAYOUT_PATTERN_GRID_1 string 一人铺满
CANVAS_LAYOUT_PATTERN_GRID_2_H string 左右两格
CANVAS_LAYOUT_PATTERN_GRID_3_E string 正品字
CANVAS_LAYOUT_PATTERN_GRID_3_D string 倒品字
CANVAS_LAYOUT_PATTERN_GRID_4_M string 2行x2列
CANVAS_LAYOUT_PATTERN_GRID_5_D string 2行,上3下2
CANVAS_LAYOUT_PATTERN_GRID_6_E string 2行x3列
CANVAS_LAYOUT_PATTERN_GRID_9_E string 3行x3列
CANVAS_LAYOUT_PATTERN_FLOAT_2_1DR string 大屏铺满,小屏悬浮右下角
CANVAS_LAYOUT_PATTERN_FLOAT_2_1DL string 大屏铺满,小屏悬浮左下角
CANVAS_LAYOUT_PATTERN_FLOAT_3_2DL string 大屏铺满,2小屏悬浮左下角
CANVAS_LAYOUT_PATTERN_FLOAT_6_5D string 大屏铺满,一行5个悬浮于下面
CANVAS_LAYOUT_PATTERN_FLOAT_6_5T string 大屏铺满,一行5个悬浮于上面
CANVAS_LAYOUT_PATTERN_TILED_5_1T4D string 主次平铺,一行4个位于底部
CANVAS_LAYOUT_PATTERN_TILED_5_1D4T string 主次平铺,一行4个位于顶部
CANVAS_LAYOUT_PATTERN_TILED_5_1L4R string 主次平铺,一列4个位于右边
CANVAS_LAYOUT_PATTERN_TILED_5_1R4L string 主次平铺,一列4个位于左边
CANVAS_LAYOUT_PATTERN_TILED_6_1T5D string 主次平铺,一行5个位于底部
CANVAS_LAYOUT_PATTERN_TILED_6_1D5T string 主次平铺,一行5个位于顶部
CANVAS_LAYOUT_PATTERN_TILED_9_1L8R string 主次平铺,右边为(2列x4行=8个块)
CANVAS_LAYOUT_PATTERN_TILED_9_1R8L string 主次平铺,左边为(2列x4行=8个块)
CANVAS_LAYOUT_PATTERN_TILED_13_1L12R string 主次平铺,右边为(3列x4行=12个块)
CANVAS_LAYOUT_PATTERN_TILED_17_1TL16GRID_E string 主次平铺,1V16
CANVAS_LAYOUT_PATTERN_CUSTOM string 自定义,当使用坐标布局接口时

出参

参数 类型 是否必选 含义

错误码

错误码 类型 含义
20002 int 房间查询为空
30001 int 不是当前房间拥有者
20012 int 互动房间查询为空
30014 int 不是当前互动房间拥有者
40028 int 旁路推流正在进行中,请先结束
50005 int 混流失败 具体原因为 : (动态内容)
50006 int 停止推旁路失败 具体原因为 : (动态内容)
50007 int 设置布局失败 具体原因为 : (动态内容)
50008 int 设置最大屏占比失败 具体原因为 : (动态内容)

响应格式

{
    "code": 200,
    "msg": "",
    "data": {}
}

旁路直播设置最大屏占比的流

API 地址

api.vhallyun.com/api/v1/inav/set-max-screen-stream

描述

根据传入互动房间ID,重新渲染最大屏占比的流(流ID,可以通过SDK推流时获得)

入参

关于公共请求参数详细内容,请参考 公共请求参数

参数 类型 是否必选 含义
inav_id string 互动房间ID
max_screen_stream string 设置屏占比最大的流ID

出参

参数 类型 是否必选 含义

错误码

错误码 类型 含义
20002 int 房间查询为空
30001 int 不是当前房间拥有者
20012 int 互动房间查询为空
30014 int 不是当前互动房间拥有者
50008 int 设置最大屏占比失败 具体原因为 : (动态内容)

响应格式

{
    "code": 200,
    "msg": "",
    "data": {}
}

旁路直播设置布局

API 地址

api.vhallyun.com/api/v1/inav/set-layout

描述

根据传入互动房间ID,重新渲染布局

入参

关于公共请求参数详细内容,请参考 公共请求参数

参数 类型 是否必选 含义
inav_id string 互动房间ID
layout string 旁路直播布局 具体见下旁路直播布局设置
custom json 自定义布局参数, 布局为自定义布局( CANVAS_LAYOUT_PATTERN_CUSTOM ) 时需传

常用模版说明 常用的模版有以下26种,选择常用模板布局无需传custom布局参数,选择CANVAS_LAYOUT_PATTERN_CUSTOM自定义布局是否混流布局有用户自己控制,请参数文档下方的布局参数进行布局

layout 布局常用模版参数

参数 类型 含义
CANVAS_LAYOUT_PATTERN_GRID_1 string 一人铺满
CANVAS_LAYOUT_PATTERN_GRID_2_H string 左右两格
CANVAS_LAYOUT_PATTERN_GRID_3_E string 正品字
CANVAS_LAYOUT_PATTERN_GRID_3_D string 倒品字
CANVAS_LAYOUT_PATTERN_GRID_4_M string 2行x2列
CANVAS_LAYOUT_PATTERN_GRID_5_D string 2行,上3下2
CANVAS_LAYOUT_PATTERN_GRID_6_E string 2行x3列
CANVAS_LAYOUT_PATTERN_GRID_9_E string 3行x3列
CANVAS_LAYOUT_PATTERN_FLOAT_2_1DR string 大屏铺满,小屏悬浮右下角
CANVAS_LAYOUT_PATTERN_FLOAT_2_1DL string 大屏铺满,小屏悬浮左下角
CANVAS_LAYOUT_PATTERN_FLOAT_3_2DL string 大屏铺满,2小屏悬浮左下角
CANVAS_LAYOUT_PATTERN_FLOAT_6_5D string 大屏铺满,一行5个悬浮于下面
CANVAS_LAYOUT_PATTERN_FLOAT_6_5T string 大屏铺满,一行5个悬浮于上面
CANVAS_LAYOUT_PATTERN_TILED_5_1T4D string 主次平铺,一行4个位于底部
CANVAS_LAYOUT_PATTERN_TILED_5_1D4T string 主次平铺,一行4个位于顶部
CANVAS_LAYOUT_PATTERN_TILED_5_1L4R string 主次平铺,一列4个位于右边
CANVAS_LAYOUT_PATTERN_TILED_5_1R4L string 主次平铺,一列4个位于左边
CANVAS_LAYOUT_PATTERN_TILED_6_1T5D string 主次平铺,一行5个位于底部
CANVAS_LAYOUT_PATTERN_TILED_6_1D5T string 主次平铺,一行5个位于顶部
CANVAS_LAYOUT_PATTERN_TILED_9_1L8R string 主次平铺,右边为(2列x4行=8个块)
CANVAS_LAYOUT_PATTERN_TILED_9_1R8L string 主次平铺,左边为(2列x4行=8个块)
CANVAS_LAYOUT_PATTERN_TILED_13_1L12R string 主次平铺,右边为(3列x4行=12个块)
CANVAS_LAYOUT_PATTERN_TILED_17_1TL16GRID string 主次平铺,1V16,主屏在左上角
CANVAS_LAYOUT_PATTERN_TILED_9_1D8T string 主次平铺,主屏在下,8个(2行x4列)在上
CANVAS_LAYOUT_PATTERN_TILED_13_1TL12GRID string 主次平铺,主屏在左上角,其余12个均铺于其他剩余区域
CANVAS_LAYOUT_PATTERN_TILED_17_1TL16GRID_E string 主次平铺,主屏在左上角,其余16个均铺于其他剩余区域
CANVAS_LAYOUT_PATTERN_CUSTOM string 自定义,当使用坐标布局接口时

自定义布局参数

注 : 请在画布边界内操作,超出画布大小设置本次不会生效,视频画面长宽缩放不能超过原视频的两倍

参数 类型 是否必选 含义
dpi string 分辨率 16:9 [ 480P, 540P, 720P (默认)] 4:3 [ 43_480P, 43_540P, 43_960P ]
frame_rate int 帧率 15, 20 (默认), 25 帧
bitrate int 码率 800, 1000 (默认), 1200 (单位:kbps)
backgroundColor string 混流画布背景色 常用颜色:红色:0xcc0033 黄色:0xcc9900 绿色:0xcccc33 蓝色:0x99CCFF 黑色:0x000000 白色:0xFFFFFF 灰色:0x999999
input_stream_list
streamID string 流ID
location_params
width int 画面显示宽度
height int 画面显示高度
x int x轴偏移
y int y轴偏移
alpha float 写死值为1.0
zorder int 图层(目前只支持两层)

自定义位置参数的填写规则说明

横屏16:9 画布大小固定为1280 * 720

横屏4:3 画布大小固定为 1280 * 960

示意图:

注意事项:

位置参数 x、y 为小画面左上角相对背景画面左上角的绝对像素距离。

自定义布局格式

{
  "dpi": "480P",
  "frame_rate": 25,
  "bitrate": 1000,
  "background_color": "0x999999",
  "input_stream_list": [
    {
      "streamID": "558272227876559900",
      "location_params": {
        "width": 320,
        "height": 240,
        "x": 10,
        "y": 10,
        "alpha":1.0,
        "zorder": 0
      }
    },
    {
      "streamID": "597003735123980700",
      "location_params": {
        "width": 320,
        "height": 240,
        "x": 10,
        "y": 10,
        "alpha":1.0,
        "zorder": 0
      }
    }
  ]
}

出参

参数 类型 是否必选 含义

错误码

错误码 类型 含义
20002 int 房间查询为空
30001 int 不是当前房间拥有者
20012 int 互动房间查询为空
30014 int 不是当前互动房间拥有者
50007 int 设置布局失败 具体原因为 : (动态内容)

响应格式

{
    "code": 200,
    "msg": "",
    "data": {}
}

停止推旁路直播

API 地址

api.vhallyun.com/api/v1/inav/stop-push-another

描述

根据传入互动房间ID,停止推旁路直播

入参

关于公共请求参数详细内容,请参考 公共请求参数

参数 类型 是否必选 含义
inav_id string 互动房间ID

出参

参数 类型 是否必选 含义

错误码

错误码 类型 含义
20002 int 房间查询为空
30001 int 不是当前房间拥有者
20012 int 互动房间查询为空
30014 int 不是当前互动房间拥有者
50006 int 停止推旁路失败 具体原因为 : (动态内容)

响应格式

{
    "code": 200,
    "msg": "",
    "data": {}
}

获取互动被踢出人列表

API 地址

api.vhallyun.com/api/v1/inav/get-kick-inav-list

描述

根据互动房间ID,获取被踢出房间的第三方人员列表

入参

关于公共请求参数详细内容,请参考 公共请求参数

参数 类型 是否必选 含义
inav_id string 互动房间ID

出参

参数 类型 是否必选 含义
list array 第三方人员列表

错误码

错误码 类型 含义
20012 int 互动房间查询为空
30014 int 不是当前互动房间拥有者

响应格式

{
    "code":200,
    "msg":"",
    "data":{
        "lists":[
            "222"
        ]
    }
}

恢复互动被踢出人

API 地址

api.vhallyun.com/api/v1/inav/reset-kick-inav

描述

恢复被踢出互动房间的第三方用户,和获取被踢出房间的第三方人员列表想对应

入参

关于公共请求参数详细内容,请参考 公共请求参数

参数 类型 是否必选 含义
inav_id string 互动房间ID
third_party_user_id string 第三方用户ID

出参

参数 类型 是否必选 含义

错误码

错误码 类型 含义
20012 int 互动房间查询为空
30014 int 不是当前互动房间拥有者
10030 int 恢复踢出的第三方用户不存在

响应格式

{
    "code": 200,
    "msg": "",
    "data": []
}

获取互动房间人员列表

API 地址

api.vhallyun.com/api/v1/inav/inav-user-list

描述

按当前传入的互动房间id ( inav_id ),获取正在直播中的互动房间内的用户列表

入参

关于公共请求参数详细内容,请参考 公共请求参数

参数 类型 是否必选 含义
inav_id string 互动房间ID

出参

参数 类型 含义
third_party_user_id string 第三方用户ID
status int 用户状态 1 推流中 2 观看中 3 受邀中 4 申请中 5 被踢出

错误码

错误码 类型 含义
20012 int 互动房间查询为空
30014 int 不是当前互动房间拥有者
20013 int 互动房间用户查询为空
40031 int 当前互动房间没有推流

响应格式


{
    "code":200,
    "msg":"",
    "data":[
        {
            "third_party_user_id":"6",
            "status":1
        },
        {
            "third_party_user_id":"8",
            "status":1
        },
        {
            "third_party_user_id":"23",
            "status":1
        }
    ]
}


互动配置

设置旁路直播推流开关

API 地址

api.vhallyun.com/api/v1/inav/set-publish-another

描述

开启旁路直播后,可将互动直播间混到直播房间

入参

关于公共请求参数详细内容,请参考 公共请求参数

参数 类型 是否必选 含义
is_open int 开关状态 1 开启,0 关闭, 默认 0

出参

参数 类型 含义
publish_another int 开关状态 1 开启,0 关闭

错误码

错误码 类型 含义
40039 int 40039

响应格式

{
    "code": 200,
    "msg": "",
    "data": {
        "publish_another": "1"
    }
}

数据统计查询

获取互动房间数据

API 地址

api.vhallyun.com/api/v1/inav/get-inav-room-data

描述

按当前传入的互动房间id ( inav_id ),获取互动房间使用数据

入参

关于公共请求参数详细内容,请参考 公共请求参数

参数 类型 是否必选 含义
inav_id string 互动房间id
pos int 获取条目节点,默认为 0
limit int 获取条目数量, 默认为10 条,最大为1000条
start_time date 查询开始时间, 格式为: 2017/01/01
end_time date 查询结束时间, 默认为当前时间。 格式为: 2017/01/01

出参

参数 类型 含义
flow int 流量 单位(KB)
pv_num int pv
uv_num int uv
tt int 互动时长 单位 (秒)
created_time int 数据产生时间

错误码

错误码 类型 含义
20012 int 互动房间查询为空
30014 int 不是当前互动房间拥有者
10020 int 开始时间不能为空
40004 int 时间类型不正确
40008 int 分页起始提条目不正确
40009 int 分页条目不正确

响应格式


{
    "code":200,
    "msg":"",
    "data":[
        {
            "flow":2225,
            "pv_num":1,
            "uv_num":1,
            "tt":89,
            "created_time":"2018-07-10 15:00:00"
        },
        {
            "flow":83300,
            "pv_num":3,
            "uv_num":1,
            "tt":3332,
            "created_time":"2018-07-10 16:00:00"
        },
        {
            "flow":37875,
            "pv_num":5,
            "uv_num":1,
            "tt":1515,
            "created_time":"2018-07-10 17:00:00"
        }
    ]
}


获取应用下互动房间列表数据信息

API 地址

api.vhallyun.com/api/v1/inav/get-inav-data

描述

按当前传入app_id对应的应用,获取互动使用数据

入参

关于公共请求参数详细内容,请参考 公共请求参数

参数 类型 是否必选 含义
pos int 获取条目节点,默认为 0
limit int 获取条目数量, 默认为10 条,最大为1000条
start_time date 查询开始时间, 格式为: 2017/01/01
end_time date 查询结束时间, 默认为当前时间。 格式为: 2017/01/01

出参

参数 类型 含义
flow list 按天获取的流量使用列表 (单位为 KB)
duration list 按天获取的时长使用列表 (单位为秒)

错误码

错误码 类型 含义
10020 int 开始时间不能为空
40004 int 时间类型不正确
40008 int 分页起始提条目不正确
40009 int 分页条目不正确

响应格式

{
    "code":200,
    "msg":"",
    "data":{
        "duration":{
            "2018-07-17":65237,
            "2018-07-18":127414,
            "2018-07-19":0
        },
        "flow":{
            "2018-07-17":"37150.52",
            "2018-07-18":"48137.79",
            "2018-07-19":"0"
        }
    }
}

获取互访问记录

API 地址

api.vhallyun.com/api/v1/inav/get-inav-access-data

描述

获取直播房间流的访问记录

入参

关于公共请求参数详细内容,请参考 公共请求参数

参数 类型 是否必选 含义
inav_id string 互动房间id
pos int 获取条目节点,默认为 0
limit int 获取条目数量,默认为 10 条,最大为1000条
start_time date 查询开始时间,格式为:2017/01/01
end_time date 查询结束时间,默认为当前时间,格式为:2017/01/01

出参

参数 类型 是否必选 含义
uid string 第三方用户ID
start_time string 进入时间
end_time string 离开时间
tt int 总观看时长 单位 (秒)
pf string 观看终端 ,0代表iOSAPP,1代表AndroidAPP,2代表flash,3代表wap,4代表IOSSDK,5代表AndroidSDK,6代表小助手,7代表h5播放器pc端
browser string 请求方式
viewer_province string 地域

错误码

错误码 类型 含义
10020 int 开始时间不能为空
40004 int 时间类型不正确
40040 int 开始时间不能大于结束时间
10029 int 互动房间不能为空
30014 int 不是当前互动房间拥有者
40008 int 分页起始提条目不正确
40009 int 分页条目不正确
70001 int 分页条目超过限制

响应格式

{
    "code": 200,
    "msg": "",
    "data": [
        {
            "uid": "1000204982",
            "start_time": "2018-03-06 11:55:00",
            "end_time": "2018-03-07 11:29:00",
            "tt": 1335,
            "pf": "7",
            "browser": "QQBrowser",
            "viewer_province": "上海"
        },
        {
            "uid": "1000204982",
            "start_time": "2018-03-06 11:57:00",
            "end_time": "2018-03-07 11:29:00",
            "tt": 1268,
            "pf": "7",
            "browser": "Chrome",
            "viewer_province": "加利福尼亚州"
        }
    ]
}