直接访问demo http://static.ejudata.com/demo/video_demo/0.3.0/
调用本API以创建直播频道 可以通过参数控制以下功能
- 是否录制
- 是否自动关闭直播
- 是否多平台直播
- 多平台直播的额外用户 可以获得以下关键信息
- rtmp推流地址
- rtmp播放地址
- hls播放地址
URL : http://xxx.com/live/create
GET
key value content-type ""
名称 类型 是否必须 默认值 备注 token string Yes 无 token isRecord int No 1 是否录制:1是 0否 isAutoClose int No 0 是否自动关闭(1: 是, 0: 否) isExtraPull int No 0 是否多平台(1: 是, 0: 否) 暂时无用 resolutions string No "" 保留参数, 暂时无用 extraCallBackTokens string No "" 多平台直播时, 额外的回调用户token, 例如:test,demo cdn(新增) string No null 用户可以指定使用那家CDN服务,目前支持两家:七牛和阿里 qiniu or ali
token: "asdfasdf" isAutoClose: 1 isExtraPull: 1 extraCallBackTokens "sadf"
http://xxxx.com/live/create?token=1233&isAutoClose=1&isExtraPull=1&extraCallBackTokens=123
响应类型 JSON
名称 类型 是否必须 默认值 备注 status int Yes 0 -1: 失败, 1: 成功 mess string Yes "" 成功的结果或者失败的原因 mess参数说明 名称 类型 备注 liveId int 频道ID livename string 流名 server string 推流域名和节点 name string 推流queryString play string rtmp直播播放地址 hls string hls直播播放地址 pushUrl sting 推流完整地址 share string 分享地址(保留参数, 暂时无效)
正确情况的响应值 { "status": 1, "mess": { "liveId": 1501827836, "livename": "test00002163", "server": "XXXXXXXX", "name": "test00002163?key=08b7ebea74917b13&token=test", "play": "rtmp://xxx.com/test2/test00002163", "hls": "http://xxxx.com/test2/test00002163.m3u8", "pushUrl": "rtmp://xxxxxxx.com/test2/test00002163?key=08b7ebea74917b13&token=test", "share": "http://***/test00002163" } }
{ "status" : 0, "message" : "token is error" }
url /video/change-live-status
get方式
key value content-type text/html
名称 是否必须 参数位置 类型 默认值 备注 token true 普通参数 String token认证,每个客户有约定好的token值 liveId true 普通参数 string 直播ID status true 普通参数 string 直播状态 1直播中 2直播结束3禁流
1、测试环境 http://test.xxxx.com/video/change-live-status?liveId=&status=2&token=ejutest 2、生产环境 http://xxxx.com/video/change-live-status?liveId=&status=2&token=ejutest
名称 是否必须 参数位置 类型 备注 status yes 普通参数 int 请求结果状态 1成功 0失败 mess yes 普通参数 string 请求消息 code yes 普通参数 string 详细的错误码 data no 普通参数 String 成功时,该直播流详细数据内容 PS. 红色为新增字段
{ "status": 1, "mess": "update success", "data": { "id": 11, "uid": 1, "uname": "管理员", "token": "4238a0", "livename": "ef7d40", "stime": 0, "etime": 1500362311, "ctime": 1466148751, "update_time": 1500362311, "ip": "180.167.73.194", "status": "2", "mess": "1", "pushtime": 0, "puship": "2", "pushserver": "1", "playurl": "1", "hlsurl": "1", "isRecord": 0, "isCoding": 0, "isHavefile": 0, "pushStatus": 0, "cdnId": 1, "is_auto_close": 0, "extraPullStream": 0, "resolutionsCommand": "", "extraCallBackToken": "", "pushUrl": "" } }
{ "status": 0, "code":"1001", "mess": "liveId can not be empty", "data": null }
错误代码 错误码说明 http状态 语意 1001 liveId can not be empty 200 参数错误,liveID为空或者未设置 1002 status can not be empty 200 参数错误,status为空或者未设置 1003 can not find the live channel 200 该直播不存在 1004 Can not change live status. Live is already finished. 200 该直播已经结束,不能再修改状态 1005 Only disable or finish status is allowed for the live. 200 已经开始直播的只能修改为禁用和完成 1006 update failed 500 内部错误 1000 token error 200 token错误或者为空
此文档专门介绍点播生成后主动回调客户推送点播url及相关信息(所有客户接入此服务,都遵从此格式进行回调)
请求方式 POST
content-type 首播(uid=27 26) 其他 content-type www-form form-data
名称 说明 备注 posturl 回调客户的地址 由客户提供回调地址,配置在ts_user_video_callbackurl表中,并加入token认证,示例:
加密规则为: 获取入参中xml_data的值, 该值为xml格式的字符串 + 固定字符串(leju_chat_v0.1)拼接为一个字符串进行md5进行加密 例子: string '41663435test0000163001501746757-<title>-</title>00-leju_chat_v0.1' md5(string)
{ 4 状态固定为4 1663788 liveId test00002073 流名称 0 1500529065 uninx时间戳 -
<title>-</title> 0 0 - } 备注: status=4是表示未推流 没有生成点播, 是和乐居首播约定固定死的状态{ 1 //回调次数 234837 //liveId 2 //固定状态 2表示成功 4 表示失败 20170110161955 //流名称 355655//点播表的id 1494333864 ejutest
<title>20170110161955<\/title> 1494333606 1494333864 http://videoplay.ejucloud.com\/newcode-EL0000036256--20170509184222.mp4//点播地址 }json字符串 返回jsson字符串,作为记录可以查询回调结果情况