手机直播源码_云豹直播接入阿里DEMO详细的接口说明文档
手机直播源码提供Web管理控制台、API和软件开发工具包,您可以通过阿里DEMO详细的接口说明文档使用、管理视频直播服务,也可以与您自己的应用和服务集成。下面我给介绍一下接口说明。
1. 登录 /login
请求
POST /login
入参
名称 | 类型 | 必选 |
name | string | Y |
password | string | N |
返回
```json
{
"code": 200,
"message": "成功",
"data": {
"id": "1",
"name": "est"
}
}
}
```
2. 直播间观众列表 /im/room/users
请求方式
POST "/im/room/users"
请求参数
参数名 | 数据类型 | 必选 | 说明 |
roomId | int | Y | 房间ID |
返回结果 Json
```python
{
"code": 200,
"message": "成功",
"data": [
{
"name": "ccv",
"id": "1"
},
{
"name": "ddf",
"id": "2"
}
]
}
```
3.直播管理
1. 直播列表 live/list
如果回调配置没有设置或设置的不对,那么live/list接口数据将返回为空
请求方式
GET {baseUrl}/live/list
请求参数
名称 | 类型 | 必选 | 含义 |
roomId | int | N | 直播间ID |
roomId=-1时,将返回全部记录,包含推流状态和连麦可用状态不对的记录
返回
```json
{
"code": 200,
"message": "成功",
"data": [
{
"uid": "8070355f",
"name": "qqqqqqqq",
"roomId": "230176387716088260",
"rtmpUrl": "rtmp://videocall.push.danqoo.com/DemoApp/230176387716088260?auth_key=1471243317-0-0-69544892580969bfbb3c86112c532d1b",
"playUrl": "http://videocall.play.danqoo.com/DemoApp/230176387716088260.flv",
"status": 1,
"type": 2, #1:观众 2:主播
"isMixReady": true, # true 编码流已经准备好
"isMixed": false, #true 混流成功
"mns":{
"topic":'474c7658805b798814', #直播间topic,用于客户端订阅消息
"topicLocation": "http://125277.mns.cn-hangzhou.aliyuncs.com/topics/229820386403942828",
"roomTag": "474c7658805b798814" #直播间tag, 用于客户端过滤订阅消息
},
"description":"XX的直播"
},
{
"uid": "e6fdb3ab",
"name": "499455",
"roomId": "229820386403942828",
"rtmpUrl": "rtmp://videocall.push.danqoo.com/DemoApp/229820386403942828?auth_key=1471160429-0-0-6df7a7e4326d86a019e2160b9549956a",
"playUrl": "http://videocall.play.danqoo.com/DemoApp/229820386403942828.flv",
"status": 0,
"type": 2, #1:观众 2:主播
"isMixReady": true, # true 编码流已经准备好
"isMixed": false, #true 混流成功
"mns":{
"topic":'474c7658805b798814',
"topicLocation": "http://125277.mns.cn-hangzhou.aliyuncs.com/topics/229820386403942828",
"roomTag": "474c7658805b798814"
},
"description":"XX的直播"
}
]
}
```
2. 创建直播 live/create
请求方式
POST "/live/create"
请求参数
参数名 | 数据类型 | 必选 | 说明 |
uid | string | Y | 用户ID |
desc | string | N | 描述 |
返回结果 Json
```python
{
"code": 200,
"message": "成功",
"data": {
"uid": 1,
"name": "你好",
"roomId": "474c7658805b798814",
"rtmpUrl": "rtmp://videocall.push.danqoo.com/DemoApp/474c7658805b798814?auth_key=1475044685-0-0-3bef3969e641856d785dbeeb23f188a9",
"playUrl": "http://videocall.play.danqoo.com/DemoApp/474c7658805b798814_mix.flv",
"m3u8PlayUrl": "http://videocall.play.danqoo.com/DemoApp/474c7658805b798814_mix.m3u8",
"rtmpPlayUrl": "rtmp://videocall.play.danqoo.com/DemoApp/474c7658805b798814_mix",
"status": 1 #0:创建还未推流 1:在推流,2: 直播结束, 10: 连麦时系统创建的直播(主要是观众连麦时)
"type": 2, #1:观众 2:主播
"isMixReady": false,
"isMixed": false,
"mns":{
"topic":'474c7658805b798814',
"topicLocation": "http://125277.mns.cn-hangzhou.aliyuncs.com/topics/229820386403942828",
"roomTag": "474c7658805b798814",
"userRoomTag": "474c7658805b798814_1" #用于客户端过滤订阅消息给主播
},
"description": "test"
}
}
```
3. 观看直播 live/play
请求方式
POST "/live/play"
请求参数
参数名 | 数据类型 | 必选 | 说明 |
roomId | int | Y | 直播间ID |
uid | string | Y | 用户ID |
返回结果 Json
```python
{
"code": 200,
"message": "成功",
"data": {
"uid": "2",
"name": "test5",
"roomId": 230178951253721540,
"playUrl": "http://videocall.play.danqoo.com/DemoApp/230178951253721540.flv",
"mns":{
"topic":'474c7658805b798814',
"topicLocation": "http://125277.mns.cn-hangzhou.aliyuncs.com/topics/229820386403942828",
"roomTag": "474c7658805b798814",
"userRoomTag": "474c7658805b798814_2" #当前观众过滤消息的tag
}
}
}
```
4. 主播退出直播 live/leave
请求方式
POST "/live/leave"
请求参数
参数名 | 数据类型 | 必选 | 说明 |
roomId | int | Y | 直播间ID |
返回结果 Json
```python
{
"code": 200,
"message": "成功"
}
}
```
5. 直播评论 live/comment
请求方式
POST "/live/comment"
请求参数
参数名 | 数据类型 | 必选 | 说明 |
uid | string | Y | 用户ID |
roomId | int | Y | 直播间ID |
comment | string | Y | 评论内容 |
返回结果 Json
```python
{
"code": 200,
"message": "成功"
}
```
6. 直播点赞 live/live
请求方式
POST "/live/like"
请求参数
参数名 | 数据类型 | 必选 | 说明 |
uid | string | Y | 用户ID |
roomId | int | Y | 直播间ID |
返回结果 Json
```python
{
"code": 200,
"message": "成功"
}
```
7. 结束观看直播 live/audience/leave
请求方式
POST "/live/audience/leave"
请求参数
参数名 | 数据类型 | 必选 | 说明 |
roomId | int | Y | 直播间ID |
uid | int | Y | 用户ID |
返回结果 Json
```python
{
"code": 200,
"message": "成功"
}
}
```
4.连麦管理
1. 邀请连麦
请求方式
POST "/videocall/invite"
请求参数
参数名 | 数据类型 | 必选 | 说明 |
inviterUid | string | Y | 邀请连麦ID |
inviteeUids | string | Y | 被邀请连麦ID |
liveRoomId | string | Y | 直播间ID |
inviterType | int | Y | 邀请是否为观众 #1是观众 2 主播 |
注: inviteeUids 被邀请连麦ID 用‘|’分割。例如: ‘1|2|3’ or ‘2’。
返回结果 Json
```python
{
"code": 200,
"message": "成功"
}
```
2. 连麦反馈
请求方式
POST "/videocall/feedback"
请求参数
参数名 | 数据类型 | 必选 | 说明 |
inviterUid | string | Y | 邀请连麦ID |
inviteeUid | string | Y | 被邀请连麦ID |
status | int | Y | 是否同意状态 #1同意 2 不同意 |
inviterType | int | Y | 邀请是否为观众 #1是观众 2 主播 |
inviteeType | int | Y | 被邀请是否为观众 #1是观众 2 主播 |
返回结果 Json
```python
{
"code": 200,
"message": "成功",
"data": {
"mainPlayUrl": "http://videocall.play.danqoo.com/DemoApp/2bf74bb6cc_mix.flv", //主流播放地址
"playUrls": [{
uid:"2",
url:"http://videocall.play.danqoo.com/DemoApp/518f1a4591.flv?ali_flv_retain=0"
}],//观众的副流短延时地址
"rtmpUrl": "rtmp://videocall.push.danqoo.com/DemoApp/518f1a4591?auth_key=1483592948-0-0-5a01ee137789306a34a93c5bd7f55f3c" //副流推流地址
}
}
```
3. 连麦关闭
请求方式
POST "/videocall/close"
请求参数
参数名 | 数据类型 | 必选 | 说明 |
roomId | int | Y | 关闭连麦房间ID |
返回结果 Json
```python
{
"code": 200,
"message": "成功"
}
```
4. 观众离开连麦
请求方式
POST "/videocall/leave"
请求参数
参数名 | 数据类型 | 必选 | 说明 |
roomId | int | Y | 连麦房间ID |
uid | int | Y | 离开用户ID |
返回结果 Json
{
"code": 200,
"message": "成功"
}
云豹手机直播源码搭建,是采用阿里云动态云服务器扩容技术,可以接受大流量高并观看,并保障观看质量;采用动态负载均衡技术,提供秒级服务器扩容能力,在出现高峰访问时,可以从容应对,我们敢承诺无上限观看。CDN加速,也是使用阿里云直播CDN服务,将视频内容分发给全国500+节点,缩短用户收看延时,提高视频响应速度。