低代码

  • 低代码 > API 文档 > 互动直播 > 服务端API参考 > 客户端交互接口 > 直播间管理接口

    直播间管理接口

    最近更新时间: 2022-09-07 17:15:51

    直播间相关接口。

    创建直播间

    创建一个直播间。创建直播间的用户,作为直播间的主播。

    路径

    POST /client/live/room/instance

    请求头

    参数 说明 举例
    Authorization 鉴权token

    Body 参数

    使用JSON 格式数据

    参数 类型 必填 说明 举例
    title string 直播标题 XXX直播
    notice string 直播公告 直播公告
    cover_url string 用户头像,URL 地址 https://xxx.com/avator.png
    extends map[string]string 扩展信息,key value 结构
    start_at string 直播开始时间 “2021-12-02 11:11:11”
    end_at string 直播结束时间 “2021-12-02 11:11:11”
    publish_expire_at string 自定义推流地址Token过期时间 “2021-12-02 11:11:11”

    举例如下

    {
        "title": "XXX直播",
        "notice":"直播预告",
        "cover_url":"http;//xxx.png",
        "extends": {
            "age":"18"
        },
        "start_at": "2021-12-02 11:11:11"  , 
        "end_at":"2021-12-02 11:11:11"  ,
        "publish_expire_at":"2021-12-02 11:11:11"
    }
    

    返回

    {
        "request_id":"xxxxx", //请求ID
        "code": 0,            //错误码:0,成功;其他,失败
        "message": "success"  //code 非0 时,错误原因描述
        "data": {
            "live_id":"live_1",  //直播间ID
    	    "title":"XXX直播",    //直播间标题
    	    "notice":"直播间公告", //直播间公告
    	    "cover_url":"https://xxx.png", //
    	    "extends": {
                "age":"18"
            },
            "anchor_info":  {
                "user_id":"user_1", //主播用户ID
                "im_userid":9000990, //主播的IM 用户ID
                "nick":"主播1", //主播昵称
                "avatar":"",   //主播用户头像
                "extends": {   //主播用户扩展信息
                    "age":"18"
                },
            },
            "anchor_status":1, //主播状态:0, 离线;1,在线
            "pk_id":"",  //跨房会话ID,跨房PK 时有效
            "online_count":  3, //在线用户数
            "start_time": 1656315406, //开始直播时间,秒级时间戳
            "end_time": 1656315406, //结束直播时间,秒级时间戳
            "chat_id": 19903902, //聊天室ID
            "push_url": "", //推流地址
            "hls_url":"", //hls 拉流URL
            "rtmp_url":"", //rtmp 拉流URL
            "flv_url":"",  //flv 拉流URL
            "pv": 1003, //PV
            "uv": 934,  //UV
            "live_status":1 //直播间状态,0,已创建;1,直播中;2,已结束
        }
    }
    

    查询直播间

    查询直播间信息。

    路径

    GET /client/live/room/info/{live_id}

    路径参数

    参数 类型 必填 说明 举例
    live_id string 直播间ID live_123

    请求头

    参数 说明 举例
    Authorization 鉴权token

    Body 参数

    返回

    {
        "request_id":"xxxxx", //请求ID
        "code": 0,            //错误码:0,成功;其他,失败
        "message": "success"  //code 非0 时,错误原因描述
        "data": {
            "live_id":"live_1",  //直播间ID
    	    "title":"XXX直播",    //直播间标题
    	    "notice":"直播间公告", //直播间公告
    	    "cover_url":"https://xxx.png", //
    	    "extends": {
                "age":"18"
            },
            "anchor_info":  {
                "user_id":"user_1", //主播用户ID
                "im_userid":9000990, //主播的IM 用户ID
                "nick":"主播1", //主播昵称
                "avatar":"",   //主播用户头像
                "extends": {   //主播用户扩展信息
                    "age":"18"
                },
            },
            "anchor_status":1, //主播状态:0, 离线;1,在线
            "pk_id":"",  //跨房会话ID,跨房PK 时有效
            "online_count":  3, //在线用户数
            "start_time": 1656315406, //开始直播时间,秒级时间戳
            "end_time": 1656315406, //结束直播时间,秒级时间戳
            "chat_id": 19903902, //聊天室ID
            "push_url": "", //推流地址
            "hls_url":"", //hls 拉流URL
            "rtmp_url":"", //rtmp 拉流URL
            "flv_url":"",  //flv 拉流URL
            "pv": 1003, //PV
            "uv": 934,  //UV
            "live_status":1 //直播间状态,0,已创建;1,直播中;2,已结束
        }
    }
    

    开始直播

    开始直播间的直播。开始直播后,其他用户可以看到该直播间。

    只有直播间的主播,才能开始直播。

    直播间关闭之后,不能调用该接口开始直播。

    路径

    PUT /client/live/room/{live_id}

    路径参数

    参数 类型 必填 说明 举例
    live_id string 直播间ID live_123

    请求头

    参数 说明 举例
    Authorization 鉴权token

    Body 参数

    返回

    如果开启成功,返回直播间详情信息。

    {
        "request_id":"xxxxx", //请求ID
        "code": 0,            //错误码:0,成功;其他,失败
        "message": "success",  //code 非0 时,错误原因描述
        "data": {
            "live_id":"live_1",  //直播间ID
    	    "title":"XXX直播",    //直播间标题
    	    "notice":"直播间公告", //直播间公告
    	    "cover_url":"https://xxx.png", //
    	    "extends": {
                "age":"18"
            },
            "anchor_info":  {
                "user_id":"user_1", //主播用户ID
                "im_userid":9000990, //主播的IM 用户ID
                "nick":"主播1", //主播昵称
                "avatar":"",   //主播用户头像
                "extends": {   //主播用户扩展信息
                    "age":"18"
                },
            },
            "anchor_status":1, //主播状态:0, 离线;1,在线
            "pk_id":"",  //跨房会话ID,跨房PK 时有效
            "online_count":  3, //在线用户数
            "start_time": 1656315406, //开始直播时间,秒级时间戳
            "end_time": 1656315406, //结束直播时间,秒级时间戳
            "chat_id": 19903902, //聊天室ID
            "push_url": "", //推流地址
            "hls_url":"", //hls 拉流URL
            "rtmp_url":"", //rtmp 拉流URL
            "flv_url":"",  //flv 拉流URL
            "pv": 1003, //PV
            "uv": 934,  //UV
            "live_status":1 //直播间状态,0,已创建;1,直播中;2,已结束
        }
    }
    

    停止直播

    停止直播。

    只有直播间的主播才能停止直播。

    只有直播间在直播状态,才能停止直播。

    路径

    POST /client/live/room/{live_id}

    路径参数

    参数 类型 必填 说明 举例
    live_id string 直播间ID live_123

    请求头

    参数 说明 举例
    Authorization 鉴权token

    Body 参数

    返回

    {
        "request_id":"xxxxx", //请求ID
        "code": 0,            //错误码:0,成功;其他,失败
        "message": "success"  //code 非0 时,错误原因描述
    }
    

    删除直播间

    删除直播间。

    只有直播间的主播才能删除直播间。

    路径

    DELETE /client/live/room/instance/{live_id}

    路径参数

    参数 类型 必填 说明 举例
    live_id string 直播间ID live_123

    请求头

    参数 说明 举例
    Authorization 鉴权token

    Body 参数

    返回

    {
        "request_id":"xxxxx", //请求ID
        "code": 0,            //错误码:0,成功;其他,失败
        "message": "success"  //code 非0 时,错误原因描述
    }
    

    搜索直播

    直播间搜索。

    路径

    GET /client/live/room

    请求头

    参数 说明 举例
    Authorization 鉴权token

    Query 参数

    {
        "page_num": 1,    //页码
        "page_size": 20,  //分页数量
        "keyword":""      //搜索关键字
    }
    

    返回

    {
        "request_id":"xxxxx", //请求ID
        "code": 0,            //错误码:0,成功;其他,失败
        "message": "success",  //code 非0 时,错误原因描述
        "data": {
            "total_count":100, //总数
            "page_total": 5,   //总页数
            "end_page": false, //当前是否最后一页
            "list": [
                {
                    "live_id":"live_1",  //直播间ID
            	    "title":"XXX直播",    //直播间标题
    	            "notice":"直播间公告", //直播间公告
    	            "cover_url":"https://xxx.png", //
    	            "extends": {
                        "age":"18"
                    },
                    "anchor_info":  {
                        "user_id":"user_1", //主播用户ID
                        "im_userid":9000990, //主播的IM 用户ID
                        "nick":"主播1", //主播昵称
                        "avatar":"",   //主播用户头像
                        "extends": {   //主播用户扩展信息
                            "age":"18"
                         },
                    },
                    "anchor_status":1, //主播状态:0, 离线;1,在线
                    "pk_id":"",  //跨房会话ID,跨房PK 时有效
                    "online_count":  3, //在线用户数
                    "start_time": 1656315406, //开始直播时间,秒级时间戳
                    "end_time": 1656315406, //结束直播时间,秒级时间戳
                    "chat_id": 19903902, //聊天室ID
                    "push_url": "", //推流地址
                    "hls_url":"", //hls 拉流URL
                    "rtmp_url":"", //rtmp 拉流URL
                    "flv_url":"",  //flv 拉流URL
                    "pv": 1003, //PV
                    "uv": 934,  //UV
                    "live_status":1 //直播间状态,0,已创建;1,直播中;2,已结束
                } 
            ]
        }
    }
    

    直播列表

    分页查看直播间列表。

    只会看到正在直播的直播间。

    路径

    GET /client/live/room/list

    请求头

    参数 说明 举例
    Authorization 鉴权token

    Query 参数

    {
        "page_num": 1,    //页码
        "page_size": 20  //分页数量
    }
    

    返回

    {
        "request_id":"xxxxx", //请求ID
        "code": 0,            //错误码:0,成功;其他,失败
        "message": "success",  //code 非0 时,错误原因描述
        "data": {
            "total_count":100, //总数
            "page_total": 5,   //总页数
            "end_page": false, //当前是否最后一页
            "list": [
                {
                    "live_id":"live_1",  //直播间ID
            	    "title":"XXX直播",    //直播间标题
    	            "notice":"直播间公告", //直播间公告
    	            "cover_url":"https://xxx.png", //
    	            "extends": {
                        "age":"18"
                    },
                    "anchor_info":  {
                        "user_id":"user_1", //主播用户ID
                        "im_userid":9000990, //主播的IM 用户ID
                        "nick":"主播1", //主播昵称
                        "avatar":"",   //主播用户头像
                        "extends": {   //主播用户扩展信息
                            "age":"18"
                         },
                    },
                    "anchor_status":1, //主播状态:0, 离线;1,在线
                    "pk_id":"",  //跨房会话ID,跨房PK 时有效
                    "online_count":  3, //在线用户数
                    "start_time": 1656315406, //开始直播时间,秒级时间戳
                    "end_time": 1656315406, //结束直播时间,秒级时间戳
                    "chat_id": 19903902, //聊天室ID
                    "push_url": "", //推流地址
                    "hls_url":"", //hls 拉流URL
                    "rtmp_url":"", //rtmp 拉流URL
                    "flv_url":"",  //flv 拉流URL
                    "pv": 1003, //PV
                    "uv": 934,  //UV
                    "live_status":1 //直播间状态,0,已创建;1,直播中;2,已结束
                } 
            ]
        }
    }
    

    加入直播

    用户加入一个直播间。

    一个用户在同一个时间,只能加入一个直播间。

    加入第二个直播间,会主动从第一个直播间退出。

    路径

    POST /client/live/room/user/{live_id}

    路径参数

    参数 类型 必填 说明 举例
    live_id string 直播间ID live_123

    请求头

    参数 说明 举例
    Authorization 鉴权token

    返回

    {
        "request_id":"xxxxx", //请求ID
        "code": 0,            //错误码:0,成功;其他,失败
        "message": "success",  //code 非0 时,错误原因描述
        "data": {
            "live_id":"live_1",  //直播间ID
    	    "title":"XXX直播",    //直播间标题
    	    "notice":"直播间公告", //直播间公告
    	    "cover_url":"https://xxx.png", //
    	    "extends": {
                "age":"18"
            },
            "anchor_info":  {
                "user_id":"user_1", //主播用户ID
                "im_userid":9000990, //主播的IM 用户ID
                "nick":"主播1", //主播昵称
                "avatar":"",   //主播用户头像
                "extends": {   //主播用户扩展信息
                    "age":"18"
                },
            },
            "anchor_status":1, //主播状态:0, 离线;1,在线
            "pk_id":"",  //跨房会话ID,跨房PK 时有效
            "online_count":  3, //在线用户数
            "start_time": 1656315406, //开始直播时间,秒级时间戳
            "end_time": 1656315406, //结束直播时间,秒级时间戳
            "chat_id": 19903902, //聊天室ID
            "push_url": "", //推流地址
            "hls_url":"", //hls 拉流URL
            "rtmp_url":"", //rtmp 拉流URL
            "flv_url":"",  //flv 拉流URL
            "pv": 1003, //PV
            "uv": 934,  //UV
            "live_status":1 //直播间状态,0,已创建;1,直播中;2,已结束
        }
    }
    

    离开直播

    直播间内的用户离开直播间。

    路径

    DELETE /client/live/room/user/{live_id}

    路径参数

    参数 类型 必填 说明 举例
    live_id string 直播间ID live_123

    请求头

    参数 说明 举例
    Authorization 鉴权token

    Body 参数

    无。

    返回

    {
        "request_id":"xxxxx", //请求ID
        "code": 0,            //错误码:0,成功;其他,失败
        "message": "success"  //code 非0 时,错误原因描述
    }
    

    心跳

    用户加入直播间后,需要通过心跳,确认自己还在直播间。

    用户加入直播间后,每5秒需要发送一个心跳。服务端在连续丢失3个心跳后,会认为用户已经离开直播间。

    如果主播心跳丢失,会在直播间内提示主播离线。主播离线10分钟,会关闭直播间。

    路径

    GET /client/live/room/heartbeat/{live_id}

    路径参数

    参数 类型 必填 说明 举例
    live_id string 直播间ID live_123

    请求头

    参数 说明 举例
    Authorization 鉴权token

    Body 参数

    无。

    返回

    {
        "request_id": "xxxxx",
        "code": 0,
        "message": "success",
        "data": {
            "live_id": "live_123",
            "live_status": 1
        }
    }
    

    更新直播扩展

    更新直播间的扩展信息。

    路径

    PUT /client/live/room/extends

    请求头

    参数 说明 举例
    Authorization 鉴权token

    Body参数

    {
            "live_id":"live_1",  //直播间ID
    	    "extends": {
                "age":"18"
            }
    }
    

    返回

    {
        "request_id": "xxxxx",
        "code": 0,
        "message": "success"
    }
    

    房间用户列表

    获取直播间内的用户列表。

    路径

    GET /client/live/room/user_list

    请求头

    参数 说明 举例
    Authorization 鉴权token

    Query参数

    {
        "live_id":"live_123"      //直播ID
        "page_num": 1,            //页码
        "page_size": 20          //分页数量
    }
    

    返回

    {
        "request_id":"xxxxx", //请求ID
        "code": 0,            //错误码:0,成功;其他,失败
        "message": "success",  //code 非0 时,错误原因描述
        "data": {
            "total_count":100, //总数
            "page_total": 5,   //总页数
            "end_page": false, //当前是否最后一页
            "list": [
                {
                    "user_id":"user_1",  //用户ID
                    "im_userid":9000990, //用户的的IM 账号ID
                    "im_username":"",    //IM用户名
                    "nick":"主播1", //昵称
                    "avatar":"",   //用户头像
                    "extends": {   //用户扩展信息
                        "age":"18"
                     },
                } 
            ]
        }
    }
    
    以上内容是否对您有帮助?
  • Qvm free helper
    Close