Commit de5c57f1208419b606f1c60d2958ae15de6c9365
Merge remote-tracking branch 'origin/master'
Showing
19 changed files
with
675 additions
and
218 deletions
00.公共组件/1.2accessToken.md
0 → 100644
| 1 | +<table> | |
| 2 | + <tbody><tr> | |
| 3 | + <td class="apitd1">接口名称</td> | |
| 4 | + <td> 获取access_token</td> | |
| 5 | + </tr> | |
| 6 | + <tr> | |
| 7 | + <td class="apitd1">地址</td> | |
| 8 | + <td>https://api.cnlive.com/open/api2/token</td> | |
| 9 | + </tr> | |
| 10 | + <tr> | |
| 11 | + <td class="apitd1">method</td> | |
| 12 | + <td>post</td> | |
| 13 | + </tr> | |
| 14 | + <tr> | |
| 15 | + <td class="apitd1">返回数据</td> | |
| 16 | + <td> | |
| 17 | + json | |
| 18 | + </td> | |
| 19 | + </tr> | |
| 20 | + </tbody> | |
| 21 | + | |
| 22 | + </table> | |
| 23 | + | |
| 24 | +### 请求参数 | |
| 25 | +<table> | |
| 26 | + <thead> | |
| 27 | + <tr> | |
| 28 | + <th style="text-align: left">参数名</th> | |
| 29 | + <th style="text-align: center">参数类型</th> | |
| 30 | + <th style="text-align: center">必选</th> | |
| 31 | + <th style="text-align: center">参数说明</th> | |
| 32 | + </tr> | |
| 33 | + </thead> | |
| 34 | + <tbody> | |
| 35 | + <tr> | |
| 36 | + <td style="text-align: left">appId</td> | |
| 37 | + <td style="text-align: center">string</td> | |
| 38 | + <td style="text-align: center">true</td> | |
| 39 | + <td style="text-align: center">应用ID</td> | |
| 40 | + </tr> | |
| 41 | + <tr> | |
| 42 | + <td style="text-align: left">secret</td> | |
| 43 | + <td style="text-align: center">string</td> | |
| 44 | + <td style="text-align: center">true</td> | |
| 45 | + <td style="text-align: center">获取access_token 凭证</td> | |
| 46 | + </tr> | |
| 47 | + </tbody> | |
| 48 | +</table> | |
| 49 | + | |
| 50 | +### 返回数据 | |
| 51 | +```json | |
| 52 | +{ | |
| 53 | + "errorCode": 0, | |
| 54 | + "errorMessage": "OK", | |
| 55 | + "data": { | |
| 56 | + "access_token": "c2a89924-aa4c-4488-8c87-671b6c5e538c5c095ce9-72ef-4878-b3a6-6b4ce3bacba96a500103-c5bc-4565-bb00-c7d3b3c1954b", | |
| 57 | + "expires_in": 7200 //单位(秒) 2小时 | |
| 58 | + } | |
| 59 | +} | |
| 60 | + | |
| 61 | +``` | |
| 0 | 62 | \ No newline at end of file | ... | ... |
01.点播云/1.0 获取点播信息接口Server.md
0 → 100644
| 1 | +/* | |
| 2 | +Title: 1.1 获取点播信息接口 | |
| 3 | +*/ | |
| 4 | + | |
| 5 | +### 接口描述 ### | |
| 6 | + | |
| 7 | + | |
| 8 | +### 接口地址 ### | |
| 9 | +http://api.cnlive.com/open/api2/vod_epg/getVodInfo4Server | |
| 10 | + | |
| 11 | +### 接口协议 ### | |
| 12 | +HTTP GET | |
| 13 | + | |
| 14 | +### 接口请求参数 ### | |
| 15 | +|参数名| 参数类型 | 必选 | 参数说明 | | |
| 16 | +|:----- | :------: | :------: | :------: | | |
| 17 | +|appId| string | true | 应用ID | | |
| 18 | +|vId| string | true | 点播节目标识 | | |
| 19 | +|timestamp| int | true | 精确到秒,当前Unix时间戳,请保证请求服务器时间正确 | | |
| 20 | +|sign| String | true | 签名规则见 [签名详情] (http://help.open.cnlive.com/common.html) | | |
| 21 | + | |
| 22 | +### 返回值 ### | |
| 23 | + | |
| 24 | +| 参数名 | 参数类型 | 必选 | 参数说明 | | |
| 25 | +| :-----------| :------: | :------: | :------: | | |
| 26 | +| errorCode| int | true | 错误类型号 | | |
| 27 | +| errorMessage| string | true | 错误类型 | | |
| 28 | +| title| string | true | 节目标题 | | |
| 29 | +| subTitle| string | false | 节目副标题 | | |
| 30 | +| description| string | false | 节目描述 | | |
| 31 | +| createTime| string | true | 创建时间,格式:yyyyMMddHHmmss | | |
| 32 | +| publishTime| string | true | 发布时间,格式:yyyyMMddHHmmss | | |
| 33 | +| status| string | true | 节目状态,0:待发布,1:已发布,2:下线 | | |
| 34 | +| vId| string | true | 节目的唯一标识 | | |
| 35 | +| packagePomID| string | false | 节目的产品包ID | | |
| 36 | +| onePomID| string | false | 节目的产品ID | | |
| 37 | +| freePlayLength| string | false | 免费播放时长,单位 s,默认 60 | | |
| 38 | +| mp4_url_rate1 | string | false |流畅版的mp4播放地址 | | |
| 39 | +| mp4_url_rate2 | string | true | 标清版的mp4播放地址,必须有| | |
| 40 | +| mp4_url_rate3 | string | false | 高清版的mp4播放地址 | | |
| 41 | +| mp4_url_rate4 | string | false | 超清版的mp4播放地址 | | |
| 42 | +| hls_url_rate1 | string | false |流畅版的m3u8播放地址 | | |
| 43 | +| hls_url_rate2 | string | true | 标清版的m3u8播放地址,必须有| | |
| 44 | +| hls_url_rate3 | string | false | 高清版的m3u8播放地址 | | |
| 45 | +| hls_url_rate4 | string | false | 超清版的m3u8播放地址 | | |
| 46 | + | |
| 47 | +返回JSON格式的节目元数据信息,json示例如下: | |
| 48 | + | |
| 49 | +``` json | |
| 50 | +{ | |
| 51 | + "errorMessage":"请求成功", | |
| 52 | + "data":{ | |
| 53 | + "createTime":"20160808125905", | |
| 54 | + "publishTime":"20160808131657", | |
| 55 | + "status":"1", | |
| 56 | + "vId":"174e6c5f3d9e4ddeb739feed1906fa11", | |
| 57 | + "hls_url_rate1":"http://api.cnlive.com/open/api2/vod_ips/vodplayByH5?appId=iqj730vn11&vId=174e6c5f3d9e4ddeb739feed1906fa11&rate=1", | |
| 58 | + "hls_url_rate3":"http://api.cnlive.com/open/api2/vod_ips/vodplayByH5?appId=iqj730vn11&vId=174e6c5f3d9e4ddeb739feed1906fa11&rate=3", | |
| 59 | + "hls_url_rate2":"http://api.cnlive.com/open/api2/vod_ips/vodplayByH5?appId=iqj730vn11&vId=174e6c5f3d9e4ddeb739feed1906fa11&rate=2", | |
| 60 | + "vipFlag":"0", | |
| 61 | + "packagePomID":"3_ent/xingwenrebao/yuleqianxian/", | |
| 62 | + "hls_url_rate4":"http://api.cnlive.com/open/api2/vod_ips/vodplayByH5?appId=iqj730vn11&vId=174e6c5f3d9e4ddeb739feed1906fa11&rate=4", | |
| 63 | + "subTitle":"BTOB对粉丝甜喊:我想你们了", | |
| 64 | + "mp4_url_rate1":"http://api.cnlive.com/open/api2/vod_ips/vodplayBySWF?appId=iqj730vn11&vId=174e6c5f3d9e4ddeb739feed1906fa11&rate=1", | |
| 65 | + "title":"BTOB甜喊:我想你们了", | |
| 66 | + "mp4_url_rate3":"http://api.cnlive.com/open/api2/vod_ips/vodplayBySWF?appId=iqj730vn11&vId=174e6c5f3d9e4ddeb739feed1906fa11&rate=3", | |
| 67 | + "mp4_url_rate2":"http://api.cnlive.com/open/api2/vod_ips/vodplayBySWF?appId=iqj730vn11&vId=174e6c5f3d9e4ddeb739feed1906fa11&rate=2", | |
| 68 | + "description":"@TV娱乐前线:韩国男团BTOB近日在台北国际会议中心举行演唱会。", | |
| 69 | + "freePlayLength":"60", | |
| 70 | + "mp4_url_rate4":"http://api.cnlive.com/open/api2/vod_ips/vodplayBySWF?appId=iqj730vn11&vId=174e6c5f3d9e4ddeb739feed1906fa11&rate=4", | |
| 71 | + "onePomID":"3_174e6c5f3d9e4ddeb739feed1906fa11" | |
| 72 | + }, | |
| 73 | + "errorCode":"0" | |
| 74 | +} | |
| 75 | +``` | |
| 76 | +#### java 示例 | |
| 77 | + | |
| 78 | +```java | |
| 79 | +public Object getVodUrl() { | |
| 80 | + String result = ""; | |
| 81 | + Map params = new HashMap<>(); | |
| 82 | + params.put("appId", "iqj730vn11"); | |
| 83 | + params.put("vId", "174e6c5f3d9e4ddeb739feed1906fa11"); | |
| 84 | + params.put("timestamp", System.currentTimeMillis()/1000+""); | |
| 85 | + String url = OpenUtil.buildURL("http://api.cnlive.com/open/api/dianbo/getVodInfo4Server", params, "appId对应key值"); | |
| 86 | + HttpURLConnection connection; | |
| 87 | + try { | |
| 88 | + URL requestUrl = new URL(url); | |
| 89 | + connection = (HttpURLConnection)requestUrl.openConnection(); | |
| 90 | + connection.setRequestMethod("GET"); | |
| 91 | + connection.setDoInput(true); | |
| 92 | + connection.setDoOutput(true); | |
| 93 | + connection.connect();//连接 | |
| 94 | + | |
| 95 | + //获得返回值 | |
| 96 | + if(connection.getResponseCode() == HttpURLConnection.HTTP_OK){ | |
| 97 | + InputStream in = connection.getInputStream(); | |
| 98 | + String currentLine = ""; | |
| 99 | + if(in != null){ | |
| 100 | + BufferedReader br = new BufferedReader(new InputStreamReader(in,"utf-8")); | |
| 101 | + while((currentLine = br.readLine()) != null){ | |
| 102 | + result += currentLine; | |
| 103 | + } | |
| 104 | + br.close(); | |
| 105 | + } | |
| 106 | + } | |
| 107 | + }catch (Exception e) { | |
| 108 | + e.printStackTrace(); | |
| 109 | + } | |
| 110 | + | |
| 111 | + if(BaseUtil.notBlank(result)) { | |
| 112 | + JSONObject resultJson = JSONObject.parseObject(result); | |
| 113 | + return resultJson | |
| 114 | + } | |
| 115 | + | |
| 116 | + return ""; | |
| 117 | + } | |
| 118 | +``` | |
| 0 | 119 | \ No newline at end of file | ... | ... |
01.点播云/1.1 获取点播信息接口App.md
0 → 100644
| 1 | +/* | |
| 2 | +Title: 1.1 获取点播信息接口 | |
| 3 | +*/ | |
| 4 | + | |
| 5 | +### 接口描述 ### | |
| 6 | + | |
| 7 | + | |
| 8 | +### 接口地址 ### | |
| 9 | +http://api.cnlive.com/open/api2/vod_epg/getVodInfo4App | |
| 10 | + | |
| 11 | +### 接口协议 ### | |
| 12 | +HTTP GET | |
| 13 | + | |
| 14 | +### 接口请求参数 ### | |
| 15 | +|参数名| 参数类型 | 必选 | 参数说明 | | |
| 16 | +|:----- | :------: | :------: | :------: | | |
| 17 | +|appId| string | true | 应用ID | | |
| 18 | +|vId| string | true | 点播节目标识 | | |
| 19 | +|timestamp| int | true | 精确到秒,当前Unix时间戳,请保证请求服务器时间正确 | | |
| 20 | +|sign| String | true | 签名规则见 [签名详情] (http://help.open.cnlive.com/common.html) | | |
| 21 | + | |
| 22 | +### 返回值 ### | |
| 23 | + | |
| 24 | +| 参数名 | 参数类型 | 必选 | 参数说明 | | |
| 25 | +| :-----------| :------: | :------: | :------: | | |
| 26 | +| errorCode| int | true | 错误类型号 | | |
| 27 | +| errorMessage| string | true | 错误类型 | | |
| 28 | +| title| string | true | 节目标题 | | |
| 29 | +| subTitle| string | false | 节目副标题 | | |
| 30 | +| description| string | false | 节目描述 | | |
| 31 | +| createTime| string | true | 创建时间,格式:yyyyMMddHHmmss | | |
| 32 | +| publishTime| string | true | 发布时间,格式:yyyyMMddHHmmss | | |
| 33 | +| status| string | true | 节目状态,0:待发布,1:已发布,2:下线 | | |
| 34 | +| vId| string | true | 节目的唯一标识 | | |
| 35 | +| packagePomID| string | false | 节目的产品包ID | | |
| 36 | +| onePomID| string | false | 节目的产品ID | | |
| 37 | +| freePlayLength| string | false | 免费播放时长,单位 s,默认 60 | | |
| 38 | +| mp4_url_rate1 | string | false |流畅版的mp4播放地址 | | |
| 39 | +| mp4_url_rate2 | string | true | 标清版的mp4播放地址,必须有| | |
| 40 | +| mp4_url_rate3 | string | false | 高清版的mp4播放地址 | | |
| 41 | +| mp4_url_rate4 | string | false | 超清版的mp4播放地址 | | |
| 42 | +| hls_url_rate1 | string | false |流畅版的m3u8播放地址 | | |
| 43 | +| hls_url_rate2 | string | true | 标清版的m3u8播放地址,必须有| | |
| 44 | +| hls_url_rate3 | string | false | 高清版的m3u8播放地址 | | |
| 45 | +| hls_url_rate4 | string | false | 超清版的m3u8播放地址 | | |
| 46 | + | |
| 47 | +返回JSON格式的节目元数据信息,json示例如下: | |
| 48 | + | |
| 49 | +``` json | |
| 50 | +{ | |
| 51 | + "errorMessage":"请求成功", | |
| 52 | + "data":{ | |
| 53 | + "createTime":"20160808125905", | |
| 54 | + "publishTime":"20160808131657", | |
| 55 | + "status":"1", | |
| 56 | + "vId":"174e6c5f3d9e4ddeb739feed1906fa11", | |
| 57 | + "hls_url_rate1":"http://api.cnlive.com/open/api2/vod_ips/vodplayByAPP?appId=iqj730vn11&vId=174e6c5f3d9e4ddeb739feed1906fa11&rate=1&isHLS=1", | |
| 58 | + "hls_url_rate3":"http://api.cnlive.com/open/api2/vod_ips/vodplayByAPP?appId=iqj730vn11&vId=174e6c5f3d9e4ddeb739feed1906fa11&rate=3&isHLS=1", | |
| 59 | + "hls_url_rate2":"http://api.cnlive.com/open/api2/vod_ips/vodplayByAPP?appId=iqj730vn11&vId=174e6c5f3d9e4ddeb739feed1906fa11&rate=2&isHLS=1", | |
| 60 | + "vipFlag":"0", | |
| 61 | + "packagePomID":"3_ent/xingwenrebao/yuleqianxian/", | |
| 62 | + "hls_url_rate4":"http://api.cnlive.com/open/api2/vod_ips/vodplayByAPP?appId=iqj730vn11&vId=174e6c5f3d9e4ddeb739feed1906fa11&rate=4&isHLS=1", | |
| 63 | + "subTitle":"BTOB对粉丝甜喊:我想你们了", | |
| 64 | + "mp4_url_rate1":"http://api.cnlive.com/open/api2/vod_ips/vodplayByAPP?appId=iqj730vn11&vId=174e6c5f3d9e4ddeb739feed1906fa11&rate=1&isHLS=0", | |
| 65 | + "title":"BTOB甜喊:我想你们了", | |
| 66 | + "mp4_url_rate3":"http://api.cnlive.com/open/api2/vod_ips/vodplayByAPP?appId=iqj730vn11&vId=174e6c5f3d9e4ddeb739feed1906fa11&rate=3&isHLS=0", | |
| 67 | + "mp4_url_rate2":"http://api.cnlive.com/open/api2/vod_ips/vodplayByAPP?appId=iqj730vn11&vId=174e6c5f3d9e4ddeb739feed1906fa11&rate=2&isHLS=0", | |
| 68 | + "description":"@TV娱乐前线:韩国男团BTOB近日在台北国际会议中心举行演唱会。", | |
| 69 | + "freePlayLength":"60", | |
| 70 | + "mp4_url_rate4":"http://api.cnlive.com/open/api2/vod_ips/vodplayByAPP?appId=iqj730vn11&vId=174e6c5f3d9e4ddeb739feed1906fa11&rate=4&isHLS=0", | |
| 71 | + "onePomID":"3_174e6c5f3d9e4ddeb739feed1906fa11" | |
| 72 | + }, | |
| 73 | + "errorCode":"0" | |
| 74 | +} | |
| 75 | +``` | |
| 76 | +#### java 示例 | |
| 77 | + | |
| 78 | +```java | |
| 79 | +public Object getVodUrl() { | |
| 80 | + String result = ""; | |
| 81 | + Map params = new HashMap<>(); | |
| 82 | + params.put("appId", "iqj730vn11"); | |
| 83 | + params.put("vId", "174e6c5f3d9e4ddeb739feed1906fa11"); | |
| 84 | + params.put("timestamp", System.currentTimeMillis()/1000+""); | |
| 85 | + String url = OpenUtil.buildURL("http://api.cnlive.com/open/api/dianbo/getVodInfo4App", params, "appId对应key值"); | |
| 86 | + HttpURLConnection connection; | |
| 87 | + try { | |
| 88 | + URL requestUrl = new URL(url); | |
| 89 | + connection = (HttpURLConnection)requestUrl.openConnection(); | |
| 90 | + connection.setRequestMethod("GET"); | |
| 91 | + connection.setDoInput(true); | |
| 92 | + connection.setDoOutput(true); | |
| 93 | + connection.connect();//连接 | |
| 94 | + | |
| 95 | + //获得返回值 | |
| 96 | + if(connection.getResponseCode() == HttpURLConnection.HTTP_OK){ | |
| 97 | + InputStream in = connection.getInputStream(); | |
| 98 | + String currentLine = ""; | |
| 99 | + if(in != null){ | |
| 100 | + BufferedReader br = new BufferedReader(new InputStreamReader(in,"utf-8")); | |
| 101 | + while((currentLine = br.readLine()) != null){ | |
| 102 | + result += currentLine; | |
| 103 | + } | |
| 104 | + br.close(); | |
| 105 | + } | |
| 106 | + } | |
| 107 | + }catch (Exception e) { | |
| 108 | + e.printStackTrace(); | |
| 109 | + } | |
| 110 | + | |
| 111 | + if(BaseUtil.notBlank(result)) { | |
| 112 | + JSONObject resultJson = JSONObject.parseObject(result); | |
| 113 | + return resultJson | |
| 114 | + } | |
| 115 | + | |
| 116 | + return ""; | |
| 117 | + } | |
| 118 | +``` | |
| 0 | 119 | \ No newline at end of file | ... | ... |
01.点播云/1.2 获取h5点播URL接口.md
0 → 100644
| 1 | +### 获取点播URL接口 | |
| 2 | +----- | |
| 3 | +#### URL: http://api.cnlive.com/open/api2/vod_ips/vodplayByH5 | |
| 4 | +----- | |
| 5 | +#### 接口说明: 返回点播播放地址(HLS) | |
| 6 | +----- | |
| 7 | +#### 请求方式: HTTP GET | |
| 8 | +----- | |
| 9 | +#### 返回格式: 302 | |
| 10 | +----- | |
| 11 | +#### 请求参数说明: | |
| 12 | +| 参数名 | 参数类型 | 必选 | 参数说明 | | |
| 13 | +| :----------- | :------: | :------: | :------: | | |
| 14 | +| appId | string | true | 应用ID | | |
| 15 | +| vId| string | true | 点播节目标识 | | |
| 16 | +| uid| string | false | 用户标识(uuid_时间戳),不传为0 | | |
| 17 | +| sid| string | false | 用户ID,不传为0 | | |
| 18 | +| retry | int | false | 重试次数,从0开始,不断累加,不传为0 | | |
| 19 | +| rate | int | false | 1-流畅,2-标清,3-高清,4-超清,不传为2,EPG接口会返回实际的码流路数--标清为必须项| | |
| 20 | + | |
| 21 | +#### [页面DEMO](http://open.cnlive.com/demo/vod/h5_vod_demo.html) | |
| 0 | 22 | \ No newline at end of file | ... | ... |
01.点播云/1.3 获取flash点播URL接口.md
0 → 100644
| 1 | +### 获取MP4播放URL接口 | |
| 2 | +----- | |
| 3 | +#### URL: http://api.cnlive.com/open/api2/vod_ips/vodplayBySWF | |
| 4 | +----- | |
| 5 | +#### 接口说明: 返回MP4播放地址 (供 swf或 PC页面 调用) | |
| 6 | +----- | |
| 7 | +#### 请求方式: HTTP GET | |
| 8 | +----- | |
| 9 | +#### 返回格式: 200 | |
| 10 | +----- | |
| 11 | +#### 请求参数说明: | |
| 12 | +| 参数名 | 参数类型 | 必选 | 参数说明 | | |
| 13 | +| :----------- | :------: | :------: | :------: | | |
| 14 | +| appId | string | true | 应用ID | | |
| 15 | +| vId| string | true | 点播节目标识| | |
| 16 | +| uid| string | false | 用户标识(uuid_时间戳)| | |
| 17 | +| sid| string | false | 用户ID | | |
| 18 | +| retry | int | false | 重试次数,在0~4之间累加 | | |
| 19 | +| rate | int | false | 1-流畅,2-标清,3-高清,4-超清,不传为2,EPG接口会返回实际的码流路数--标清为必须项| | |
| 20 | + | |
| 21 | +#### 返回结果 json | |
| 22 | +```json | |
| 23 | + { | |
| 24 | + "errorMessage":"成功", | |
| 25 | + "data":{ | |
| 26 | + "location":"http://wideo01.cnlive.com/video/data1/2016/0524/124025/800/b7e34cfee140449f9e04c5e85b66aa56_124025_800.mp4" | |
| 27 | + }, | |
| 28 | + "errorCode":"0" | |
| 29 | + } | |
| 30 | +``` | |
| 31 | + | |
| 32 | +#### java 示例 | |
| 33 | + | |
| 34 | +```java | |
| 35 | + public String getFlashUrl() { | |
| 36 | + String result = ""; | |
| 37 | + String mp4Url = "http://api.cnlive.com/open/api2/vod_ips/vodplayBySWF?appId=iqj730vn11&vId=174e6c5f3d9e4ddeb739feed1906fa11&rate=2"; | |
| 38 | + try { | |
| 39 | + URL requestUrl = new URL(mp4Url); | |
| 40 | + connection = (HttpURLConnection)requestUrl.openConnection(); | |
| 41 | + connection.setRequestMethod("GET"); | |
| 42 | + connection.setDoInput(true); | |
| 43 | + connection.setDoOutput(true); | |
| 44 | + connection.connect();//连接 | |
| 45 | + | |
| 46 | + //获得返回值 | |
| 47 | + if(connection.getResponseCode() == HttpURLConnection.HTTP_OK){ | |
| 48 | + InputStream in = connection.getInputStream(); | |
| 49 | + String currentLine = ""; | |
| 50 | + if(in != null){ | |
| 51 | + BufferedReader br = new BufferedReader(new InputStreamReader(in,"utf-8")); | |
| 52 | + while((currentLine = br.readLine()) != null){ | |
| 53 | + result += currentLine; | |
| 54 | + } | |
| 55 | + br.close(); | |
| 56 | + } | |
| 57 | + } | |
| 58 | + }catch (Exception e) { | |
| 59 | + e.printStackTrace(); | |
| 60 | + } | |
| 61 | + if(BaseUtil.notBlank(result)) { | |
| 62 | + resultJson = JSONObject.parseObject(result); | |
| 63 | + result = resultJson.getJSONObject("data").getString("location"); | |
| 64 | + } | |
| 65 | + return result; | |
| 66 | + } | |
| 67 | +``` | |
| 68 | + | |
| 69 | +#### [页面播放DEMO](http://open.cnlive.com/demo/vod/flash_vod_demo.html) | |
| 0 | 70 | \ No newline at end of file | ... | ... |
01.点播云/1.4 获取APP点播URL接口.md
0 → 100644
| 1 | +### 获取APP直播URL接口 | |
| 2 | +----- | |
| 3 | +#### URL: http://api.cnlive.com/open/api2/vod_ips/vodplayByAPP | |
| 4 | +----- | |
| 5 | +#### 接口说明: 返回点播播放地址 (HLS or RTMP) | |
| 6 | +----- | |
| 7 | +#### 请求方式: HTTP GET | |
| 8 | +----- | |
| 9 | +#### 返回格式: 302 | |
| 10 | +----- | |
| 11 | +#### 请求参数说明: | |
| 12 | +| 参数名 | 参数类型 | 必选 | 参数说明 | | |
| 13 | +| :----------- | :------: | :------: | :------: | | |
| 14 | +| appId | string | true | 应用ID | | |
| 15 | +| vId| string | true | 点播节目标识 | | |
| 16 | +| uid| string | false | 用户标识(uuid_时间戳),不传为0 | | |
| 17 | +| sid| string | false | 用户ID,不传为0 | | |
| 18 | +| isHLS | int | false | 0(FLV/MP4流),1(HLS流),不传则默认为1| | |
| 19 | +| retry | int | false | 重试次数,在0--4之间递增累加 | | |
| 20 | +| rate | int | false | 1-流畅,2-标清,3-高清,4-超清,不传为2, | |
| 21 | +| sign | String | true | 签名规则见<a href="http://help.open.cnlive.com/common.html">签名详情</a> | | |
| 0 | 22 | \ No newline at end of file | ... | ... |
01.点播云/内容输出接口.md deleted
100644 → 0
| 1 | -/* | |
| 2 | -Title: 1.1 获取点播信息接口 | |
| 3 | -*/ | |
| 4 | - | |
| 5 | -### 接口描述 ### | |
| 6 | - | |
| 7 | - | |
| 8 | -### 接口地址 ### | |
| 9 | -http://api.cnlive.com/open/api/dianbo/getVodInfo | |
| 10 | - | |
| 11 | -### 接口协议 ### | |
| 12 | -HTTP GET | |
| 13 | - | |
| 14 | -### 接口请求参数 ### | |
| 15 | -- vId:节目唯一标识 | |
| 16 | -- sp_id:应用ID | |
| 17 | -- timestamp:时间戳,精确到秒 | |
| 18 | - | |
| 19 | -### 返回值 ### | |
| 20 | -返回JSON格式的节目元数据信息,json示例如下: | |
| 21 | - | |
| 22 | -``` json | |
| 23 | -{ | |
| 24 | - "message":"请求成功", | |
| 25 | - "data":{ | |
| 26 | - "MAM_VideoUrl":"http://wideo03.cnlive.com/video/data1/2016/0725/137519/800/419c46d67fb34b46adbd8b7de450a0f2_137519_800.m3u8", | |
| 27 | - "MAM_VideoEditor":"许真真", | |
| 28 | - "weight":"80", | |
| 29 | - "MAM_VideoUHUrl":"", | |
| 30 | - "pageUrl":"http://www.cnlive.com/fengcaidasai/v_gy2tmmrxgy.html", | |
| 31 | - "MAM_VideoLUrl":"http://wideo03.cnlive.com/video/data1/2016/0725/137519/400/419c46d67fb34b46adbd8b7de450a0f2_137519_400.m3u8", | |
| 32 | - "vipFlag":"0", | |
| 33 | - "CMSChannelName":"华语风采大赛", | |
| 34 | - "type":"program", | |
| 35 | - "packagePomID":"3_fengcaidasai/dianfengduijue/", | |
| 36 | - "MAM_BigPostUrl":"http://y3.cnliveimg.com:8080/image/itv/2016/0725/419c46d67fb34b46adbd8b7de450a0f2_137519_101.jpg", | |
| 37 | - "cmsChannelID":"fengcaidasai/", | |
| 38 | - "MAM_ProducerID":"先锋派", | |
| 39 | - "activityId":"", | |
| 40 | - "title":"刘子赫孙悟空大闹天宫", | |
| 41 | - "docSubTitle":"刘子赫孙悟空大闹天宫", | |
| 42 | - "MAM_NodeID":"016-020-003", | |
| 43 | - "MAM_TVColumMarkID":"", | |
| 44 | - "playAuto":"xiangguanshipin", | |
| 45 | - "docID":"656276", | |
| 46 | - "onePomID":"3_419c46d67fb34b46adbd8b7de450a0f2", | |
| 47 | - "MAM_SmallPosterUrl":"http://y3.cnliveimg.com:8080/image/itv/2016/0725/419c46d67fb34b46adbd8b7de450a0f2_137519_100.jpg", | |
| 48 | - "CMCCNodeID":"", | |
| 49 | - "MAM_PrgType":"1", | |
| 50 | - "publishDate":"2016-07-25 16:47:32", | |
| 51 | - "mediaId":"419c46d67fb34b46adbd8b7de450a0f2", | |
| 52 | - "MAM_Duration":"293000", | |
| 53 | - "MAM_CPNAME":"魅力快线3", | |
| 54 | - "MAM_NodeName":"大型专题/华语风采大赛/巅峰对决", | |
| 55 | - "vip_product_id":"", | |
| 56 | - "status":"1", | |
| 57 | - "WEB_Copyright":1, | |
| 58 | - "MAM_PosterUrl":"http://y3.cnliveimg.com:8080/image/itv/2016/0725/419c46d67fb34b46adbd8b7de450a0f2_137519_100.jpg", | |
| 59 | - "cmsColumnID":"fengcaidasai/dianfengduijue/", | |
| 60 | - "MAM_CreatDate":"2016-07-25 16:22:45", | |
| 61 | - "APP_Copyright":1, | |
| 62 | - "docBodyContent":"", | |
| 63 | - "MAM_VideoFlashUHUrl":"", | |
| 64 | - "MAM_VideoFlashHUrl":"http://wideo03.cnlive.com/video/data1/2016/0725/137519/1500/419c46d67fb34b46adbd8b7de450a0f2_137519_1500.mp4", | |
| 65 | - "MAM_VideoHUrl":"http://wideo03.cnlive.com/video/data1/2016/0725/137519/1500/419c46d67fb34b46adbd8b7de450a0f2_137519_1500.m3u8", | |
| 66 | - "CMSColumnName":"巅峰对决", | |
| 67 | - "CMCCID":"", | |
| 68 | - "freePlayLength":"60", | |
| 69 | - "MAM_VideoFlashUrl":"http://wideo03.cnlive.com/video/data1/2016/0725/137519/800/419c46d67fb34b46adbd8b7de450a0f2_137519_800.mp4", | |
| 70 | - "docDescription":"刘子赫精彩演绎孙悟空大闹天宫。", | |
| 71 | - "MAM_TVDate":"", | |
| 72 | - "modules":[ | |
| 73 | - { | |
| 74 | - "id":"xiangguanshipin", | |
| 75 | - "title":"相关推荐" | |
| 76 | - } | |
| 77 | - ], | |
| 78 | - "colName":"", | |
| 79 | - "MAM_VideoFlashLUrl":"http://wideo03.cnlive.com/video/data1/2016/0725/137519/400/419c46d67fb34b46adbd8b7de450a0f2_137519_400.mp4" | |
| 80 | - }, | |
| 81 | - "errorCode":"0" | |
| 82 | -} | |
| 83 | -``` | |
| 84 | - | |
| 85 | -JSON属性说明: 四路播放地址至少一个有效 | |
| 86 | - | |
| 87 | -<table style="font-size:14px" > | |
| 88 | - <tr> | |
| 89 | - <td>字段名称</td> | |
| 90 | - <td>描述</td> | |
| 91 | - <td>备注</td> | |
| 92 | - </tr> | |
| 93 | - <tr> | |
| 94 | - <td>errorCode</td> | |
| 95 | - <td>返回码</td> | |
| 96 | - <td>0:成功</td> | |
| 97 | - </tr> | |
| 98 | - <tr> | |
| 99 | - <td>message</td> | |
| 100 | - <td>返回信息</td> | |
| 101 | - <td></td> | |
| 102 | - </tr> | |
| 103 | - <tr> | |
| 104 | - <td>MAM_VideoUrl</td> | |
| 105 | - <td>播放地址</td> | |
| 106 | - <td></td> | |
| 107 | - </tr> | |
| 108 | - <tr> | |
| 109 | - <td>MAM_PosterUrl</td> | |
| 110 | - <td>图片地址</td> | |
| 111 | - <td></td> | |
| 112 | - </tr> | |
| 113 | - <tr> | |
| 114 | - <td>status</td> | |
| 115 | - <td>状态</td> | |
| 116 | - <td>1:已发布;2:下线</td> | |
| 117 | - </tr> | |
| 118 | - <tr> | |
| 119 | - <td>cmsColumnID</td> | |
| 120 | - <td>栏目ID</td> | |
| 121 | - <td></td> | |
| 122 | - </tr> | |
| 123 | - <tr> | |
| 124 | - <td>freePlayLength</td> | |
| 125 | - <td>免费播放时长</td> | |
| 126 | - <td></td> | |
| 127 | - </tr> | |
| 128 | -</table> | |
| 129 | - | |
| 130 | - | |
| 131 | -参数需进行加密,示例: | |
| 132 | - | |
| 133 | -详细签名 http://bj.gitlab.cnlive.com/boss-team/OPEN_API/blob/master/0.%20%E5%85%AC%E5%85%B1%E7%BB%84%E4%BB%B6/1.1%20SHA1%E7%AD%BE%E5%90%8D.md | |
| 134 | - | |
| 135 | -``` java | |
| 136 | -public String getPlayVideo(ModelMap model,HttpServletRequest request) { | |
| 137 | - String result = ""; | |
| 138 | - Map params = new HashMap<>(); | |
| 139 | - params.put("sp_id", "iqhpk8pl19"); | |
| 140 | - params.put("vId", "419c46d67fb34b46adbd8b7de450a0f2"); | |
| 141 | - params.put("timestamp", System.currentTimeMillis()/1000+""); | |
| 142 | - String url = OpenUtil.buildURL("http://api.cnlive.com/open/api/dianbo/getVodInfo", params, "672db30805f848f59ec3728f8347a4a0"); | |
| 143 | - HttpURLConnection connection; | |
| 144 | - try { | |
| 145 | - URL requestUrl = new URL(url); | |
| 146 | - connection = (HttpURLConnection)requestUrl.openConnection(); | |
| 147 | - connection.setRequestMethod("GET"); | |
| 148 | - connection.setDoInput(true); | |
| 149 | - connection.setDoOutput(true); | |
| 150 | - connection.connect();//连接 | |
| 151 | - | |
| 152 | - //获得返回值 | |
| 153 | - if(connection.getResponseCode() == HttpURLConnection.HTTP_OK){ | |
| 154 | - InputStream in = connection.getInputStream(); | |
| 155 | - String currentLine = ""; | |
| 156 | - if(in != null){ | |
| 157 | - BufferedReader br = new BufferedReader(new InputStreamReader(in,"utf-8")); | |
| 158 | - while((currentLine = br.readLine()) != null){ | |
| 159 | - result += currentLine; | |
| 160 | - } | |
| 161 | - br.close(); | |
| 162 | - } | |
| 163 | - } | |
| 164 | - }catch (Exception e) { | |
| 165 | - e.printStackTrace(); | |
| 166 | - } | |
| 167 | - | |
| 168 | - if(BaseUtil.notBlank(result)) { | |
| 169 | - JSONObject resultJson = JSONObject.parseObject(result); | |
| 170 | - model.put("videoInfo", resultJson); | |
| 171 | - } | |
| 172 | - | |
| 173 | - return "play_demo"; | |
| 174 | - } | |
| 175 | -``` | |
| 176 | 0 | \ No newline at end of file |
02.直播云/1.0 获取直播活动信息接口Server.md
0 → 100644
| 1 | +/* | |
| 2 | +Title: 1.1 获取某直播活动信息接口 for WebServer | |
| 3 | +*/ | |
| 4 | + | |
| 5 | +### 接口描述 ### | |
| 6 | + | |
| 7 | + | |
| 8 | +### 接口地址 ### | |
| 9 | +http://api.cnlive.com/open/api2/live_epg/getLiveActivityPlayInfo4Server | |
| 10 | + | |
| 11 | +### 接口协议 ### | |
| 12 | +HTTP GET | |
| 13 | + | |
| 14 | +### 接口请求参数 ### | |
| 15 | +| 参数名 | 参数类型 | 必选 | 参数说明 | | |
| 16 | +| :----------- | :------: | :------: | :------: | | |
| 17 | +| appId | string | true | 应用ID | | |
| 18 | +| activityId| string | true | 由开发者通过API创建接口或者在直播云管理端创建,保证唯一性 | | |
| 19 | +| timestamp | int | true | 精确到秒,当前Unix时间戳,请保证请求服务器时间正确 | | |
| 20 | +| sign | String | true | 签名规则见 [签名详情] (http://help.open.cnlive.com/common.html) | | |
| 21 | + | |
| 22 | + | |
| 23 | +### 返回值 ### | |
| 24 | + | |
| 25 | +| 参数名 | 参数类型 | 必选 | 参数说明 | | |
| 26 | +| :----------- | :------: | :------: | :------: | | |
| 27 | +| errorCode | int | true | 错误类型号 | | |
| 28 | +| errorMessage| string | true | 错误类型 | | |
| 29 | +| activityId| string | true | 活动ID,确保SP下的唯一性 | | |
| 30 | +| activityName | string | true | 活动名称 | | |
| 31 | +| activityStatus | int | true | 活动状态,0:未开始 /1:已开始 /3:已结束 /4 已下线,默认为0 | | |
| 32 | +| isHorizontalScreen | int | true | 屏幕方向,0:垂直即竖屏 /1:水平即横屏 ,默认为1 | | |
| 33 | +| channelID | string | true | 播放通道;PGC业务:平台分配/ UGC业务:主播ID生成,确保SP下的唯一性 | | |
| 34 | +| createTime | string | false | 开始时间,格式yyyyMMddHHmmss | | |
| 35 | +| startTime | string | false | 开始时间,格式yyyyMMddHHmmss | | |
| 36 | +| endTime | string | false | 开始时间,格式yyyyMMddHHmmss | | |
| 37 | +| coverImgUrl | string | false | 活动封面 | | |
| 38 | +| activityCategory | string | false | 活动分类ID,001 发布会/002 婚礼/003 年会 /004 体育/005 游戏/006 旅游&户外/007 财经/008 演唱会/009 烹饪/010 宠物&动物/011 访谈/012 教育/013 竞技/014 剧场/015 晚会/016 电视节目/017 秀场 | | |
| 39 | +| extensions | string | false | 扩展字段,参数格式为Map对象的Json字符串 (主播昵称、头像等等) | | |
| 40 | +| mp4_url_rate1 | string | false |流畅版的rtmp播放地址 | | |
| 41 | +| mp4_url_rate2 | string | true | 标清版的rtmp播放地址,必须有| | |
| 42 | +| mp4_url_rate3 | string | false | 高清版的rtmp播放地址 | | |
| 43 | +| mp4_url_rate4 | string | false | 超清版的rtmp播放地址 | | |
| 44 | +| hls_url_rate1 | string | false |流畅版的m3u8播放地址 | | |
| 45 | +| hls_url_rate2 | string | true | 标清版的m3u8播放地址,必须有| | |
| 46 | +| hls_url_rate3 | string | false | 高清版的m3u8播放地址 | | |
| 47 | +| hls_url_rate4 | string | false | 超清版的m3u8播放地址 | | |
| 48 | +| extViews | 对象数组 | false | 扩展机位的播放信息(不含主画面PGM的播放信息) | | |
| 49 | + | |
| 50 | +返回JSON格式的节目元数据信息,json示例如下: | |
| 51 | + | |
| 52 | +``` json | |
| 53 | +{ | |
| 54 | + "errorCode":"0", | |
| 55 | + "messagae":"请求成功", | |
| 56 | + "data"{ | |
| 57 | + "activityId":"xxxxx", | |
| 58 | + "activityStatus":"1", | |
| 59 | + "activityName":"测试活动", | |
| 60 | + "coverImgUrl":"小图图片URL", | |
| 61 | + "isHorizontalScreen":"1", | |
| 62 | + "channelID":"xinyingshi", | |
| 63 | + "startTime":"", | |
| 64 | + "endTime":"", | |
| 65 | + "createTime":"", | |
| 66 | + "extensions":"", | |
| 67 | + "activityCategory":"", | |
| 68 | + "mp4_url_rate1":"", | |
| 69 | + "mp4_url_rate2":"http://api.cnlive.com/open/api2/live_ips/liveplayBySWF?channelID=xinyingshi&appId=iqj730vn11", | |
| 70 | + "mp4_url_rate3":"", | |
| 71 | + "mp4_url_rate4":"", | |
| 72 | + "hls_url_rate1":"", | |
| 73 | + "hls_url_rate2":"http://api.cnlive.com/open/api2/live_ips/liveplayByH5?channelID=xinyingshi&appId=iqj730vn11", | |
| 74 | + "hls_url_rate3":"", | |
| 75 | + "hls_url_rate4":"", | |
| 76 | + "extViews"[ | |
| 77 | + { | |
| 78 | + "channelID":"xinyingshi", | |
| 79 | + "mp4_url_rate1":"", | |
| 80 | + "mp4_url_rate2":"http://api.cnlive.com/open/api2/live_ips/liveplayBySWF?channelID=xinyingshi&appId=iqj730vn11", | |
| 81 | + "mp4_url_rate3":"", | |
| 82 | + "mp4_url_rate4":"", | |
| 83 | + "hls_url_rate1":"", | |
| 84 | + "hls_url_rate2":"http://api.cnlive.com/open/api2/live_ips/liveplayByH5?channelID=xinyingshi&appId=iqj730vn11", | |
| 85 | + "hls_url_rate3":"", | |
| 86 | + "hls_url_rate4":"" | |
| 87 | + }, | |
| 88 | + { | |
| 89 | + "channelID":"xinyingshi", | |
| 90 | + "mp4_url_rate1":"", | |
| 91 | + "mp4_url_rate2":"http://api.cnlive.com/open/api2/live_ips/liveplayBySWF?channelID=xinyingshi&appId=iqj730vn11", | |
| 92 | + "mp4_url_rate3":"", | |
| 93 | + "mp4_url_rate4":"", | |
| 94 | + "hls_url_rate1":"", | |
| 95 | + "hls_url_rate2":"http://api.cnlive.com/open/api2/live_ips/liveplayByH5?channelID=xinyingshi&appId=iqj730vn11", | |
| 96 | + "hls_url_rate3":"", | |
| 97 | + "hls_url_rate4":"" | |
| 98 | + } | |
| 99 | + ] | |
| 100 | + } | |
| 101 | +} | |
| 102 | +``` | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | +``` java | |
| 107 | +public String getPlayInfo() { | |
| 108 | + String result = ""; | |
| 109 | + Map params = new HashMap<>(); | |
| 110 | + params.put("appId", "iqj730vn11"); | |
| 111 | + params.put("activityId", "d849bb4277be42799df3ffc21654d949"); | |
| 112 | + params.put("timestamp", System.currentTimeMillis()/1000+""); | |
| 113 | + String url = OpenUtil.buildURL("http://api.cnlive.com/open/api2/live_epg/getLiveActivityPlayInfo4Server", params, "87ef486a53d637524ba75a4ebcb2d6d8c48d00e56fc2d4"); | |
| 114 | + HttpURLConnection connection; | |
| 115 | + try { | |
| 116 | + URL requestUrl = new URL(url); | |
| 117 | + connection = (HttpURLConnection)requestUrl.openConnection(); | |
| 118 | + connection.setRequestMethod("GET"); | |
| 119 | + connection.setDoInput(true); | |
| 120 | + connection.setDoOutput(true); | |
| 121 | + connection.connect();//连接 | |
| 122 | + | |
| 123 | + //获得返回值 | |
| 124 | + if(connection.getResponseCode() == HttpURLConnection.HTTP_OK){ | |
| 125 | + InputStream in = connection.getInputStream(); | |
| 126 | + String currentLine = ""; | |
| 127 | + if(in != null){ | |
| 128 | + BufferedReader br = new BufferedReader(new InputStreamReader(in,"utf-8")); | |
| 129 | + while((currentLine = br.readLine()) != null){ | |
| 130 | + result += currentLine; | |
| 131 | + } | |
| 132 | + br.close(); | |
| 133 | + } | |
| 134 | + } | |
| 135 | + }catch (Exception e) { | |
| 136 | + e.printStackTrace(); | |
| 137 | + } | |
| 138 | + | |
| 139 | + if(BaseUtil.notBlank(result)) { | |
| 140 | + JSONObject resultJson = JSONObject.parseObject(result); | |
| 141 | + return resultJson.getJSONObject("data").getString("hls_url_rate2"); | |
| 142 | + } | |
| 143 | + | |
| 144 | + return ""; | |
| 145 | + } | |
| 146 | +``` | |
| 0 | 147 | \ No newline at end of file | ... | ... |
02.直播云/1.1 获取直播活动信息接口.md renamed to 02.直播云/1.1 获取直播活动信息接口APP.md
| 1 | 1 | /* |
| 2 | -Title: 1.1 获取某直播活动信息接口 for APP_SDK or WebServer | |
| 2 | +Title: 1.1 获取某直播活动信息接口 for APP_SDK | |
| 3 | 3 | */ |
| 4 | 4 | |
| 5 | 5 | ### 接口描述 ### |
| 6 | 6 | |
| 7 | 7 | |
| 8 | 8 | ### 接口地址 ### |
| 9 | -http://api.cnlive.com/open/api2/live_zbsc/getLiveActivityPlayInfo | |
| 9 | +http://api.cnlive.com/open/api2/live_epg/getLiveActivityPlayInfo4App | |
| 10 | 10 | |
| 11 | 11 | ### 接口协议 ### |
| 12 | 12 | HTTP GET |
| ... | ... | @@ -17,6 +17,7 @@ HTTP GET |
| 17 | 17 | | appId | string | true | 应用ID | |
| 18 | 18 | | activityId| string | true | 由开发者通过API创建接口或者在直播云管理端创建,保证唯一性 | |
| 19 | 19 | | timestamp | int | true | 精确到秒,当前Unix时间戳,请保证请求服务器时间正确 | |
| 20 | +| platform_id | String | true | 平台ID,鉴权 | | |
| 20 | 21 | | sign | String | true | 签名规则见 [签名详情] (http://help.open.cnlive.com/common.html) | |
| 21 | 22 | |
| 22 | 23 | |
| ... | ... | @@ -25,10 +26,10 @@ HTTP GET |
| 25 | 26 | | 参数名 | 参数类型 | 必选 | 参数说明 | |
| 26 | 27 | | :----------- | :------: | :------: | :------: | |
| 27 | 28 | | errorCode | int | true | 错误类型号 | |
| 28 | -| message| string | true | 错误类型 | | |
| 29 | -| activityid| string | true | 活动ID,确保SP下的唯一性 | | |
| 30 | -| activityname | string | true | 活动名称 | | |
| 31 | -| activitystatus | int | true | 活动状态,0:未开始 /1:已开始 /3:已结束 /4 已下线,默认为0 | | |
| 29 | +| errorMessage| string | true | 错误类型 | | |
| 30 | +| activityId| string | true | 活动ID,确保SP下的唯一性 | | |
| 31 | +| activityName | string | true | 活动名称 | | |
| 32 | +| activityStatus | int | true | 活动状态,0:未开始 /1:已开始 /3:已结束 /4 已下线,默认为0 | | |
| 32 | 33 | | isHorizontalScreen | int | true | 屏幕方向,0:垂直即竖屏 /1:水平即横屏 ,默认为1 | |
| 33 | 34 | | channelID | string | true | 播放通道;PGC业务:平台分配/ UGC业务:主播ID生成,确保SP下的唯一性 | |
| 34 | 35 | | createTime | string | false | 开始时间,格式yyyyMMddHHmmss | |
| ... | ... | @@ -52,11 +53,11 @@ HTTP GET |
| 52 | 53 | ``` json |
| 53 | 54 | { |
| 54 | 55 | "errorCode":"0", |
| 55 | - "messagae":"请求成功", | |
| 56 | + "message":"请求成功", | |
| 56 | 57 | "data"{ |
| 57 | - "activityid":"xxxxx", | |
| 58 | - "activitystatus":"1", | |
| 59 | - "activityname":"测试活动", | |
| 58 | + "activityId":"xxxxx", | |
| 59 | + "activityStatus":1, | |
| 60 | + "activityName":"测试活动", | |
| 60 | 61 | "coverImgUrl":"小图图片URL", |
| 61 | 62 | "isHorizontalScreen":"1", |
| 62 | 63 | "channelID":"xinyingshi", |
| ... | ... | @@ -66,31 +67,33 @@ HTTP GET |
| 66 | 67 | "extensions":"", |
| 67 | 68 | "activityCategory":"", |
| 68 | 69 | "mp4_url_rate1":"", |
| 69 | - "mp4_url_rate2":"http://api.cnlive.com/open/api3/play/IPS/liveplayBySWF?channelID=xinyingshi&rate=2&sp_id=iqhpk8pl19", | |
| 70 | + "mp4_url_rate2":"http://api.cnlive.com/open/api2/live_ips/liveplayByAPP?channelID=xinyingshi&appId=iqj730vn11&isHLS=0", | |
| 70 | 71 | "mp4_url_rate3":"", |
| 71 | 72 | "mp4_url_rate4":"", |
| 72 | 73 | "hls_url_rate1":"", |
| 73 | - "hls_url_rate2":"http://api.cnlive.com/open/api3/play/IPS/liveplay?channelID=xinyingshi&rate=2&sp_id=iqhpk8pl19", | |
| 74 | + "hls_url_rate2":"http://api.cnlive.com/open/api2/live_ips/liveplayByAPP?channelID=xinyingshi&appId=iqj730vn11&isHLS=1", | |
| 74 | 75 | "hls_url_rate3":"", |
| 75 | 76 | "hls_url_rate4":"", |
| 76 | 77 | "extViews"[ |
| 77 | 78 | { |
| 79 | + "channelID":"xinyingshi", | |
| 78 | 80 | "mp4_url_rate1":"", |
| 79 | - "mp4_url_rate2":"http://api.cnlive.com/open/api3/play/IPS/liveplayBySWF?channelID=xinyingshi_m1&rate=2&sp_id=iqhpk8pl19", | |
| 81 | + "mp4_url_rate2":"http://api.cnlive.com/open/api2/live_ips/liveplayByAPP?channelID=xinyingshi&appId=iqj730vn11&isHLS=0", | |
| 80 | 82 | "mp4_url_rate3":"", |
| 81 | 83 | "mp4_url_rate4":"", |
| 82 | 84 | "hls_url_rate1":"", |
| 83 | - "hls_url_rate2":"http://api.cnlive.com/open/api3/play/IPS/liveplay?channelID=xinyingshi_m1&rate=2&sp_id=iqhpk8pl19", | |
| 85 | + "hls_url_rate2":"http://api.cnlive.com/open/api2/live_ips/liveplayByAPP?channelID=xinyingshi&appId=iqj730vn11&isHLS=1", | |
| 84 | 86 | "hls_url_rate3":"", |
| 85 | 87 | "hls_url_rate4":"" |
| 86 | 88 | }, |
| 87 | 89 | { |
| 90 | + "channelID":"xinyingshi", | |
| 88 | 91 | "mp4_url_rate1":"", |
| 89 | - "mp4_url_rate2":"http://api.cnlive.com/open/api3/play/IPS/liveplayBySWF?channelID=xinyingshi_m2&rate=2&sp_id=iqhpk8pl19", | |
| 92 | + "mp4_url_rate2":"http://api.cnlive.com/open/api2/live_ips/liveplayByAPP?channelID=xinyingshi&appId=iqj730vn11&isHLS=0", | |
| 90 | 93 | "mp4_url_rate3":"", |
| 91 | 94 | "mp4_url_rate4":"", |
| 92 | 95 | "hls_url_rate1":"", |
| 93 | - "hls_url_rate2":"http://api.cnlive.com/open/api3/play/IPS/liveplay?channelID=xinyingshi_m2&rate=2&sp_id=iqhpk8pl19", | |
| 96 | + "hls_url_rate2":"http://api.cnlive.com/open/api2/live_ips/liveplayByAPP?channelID=xinyingshi&appId=iqj730vn11&isHLS=1", | |
| 94 | 97 | "hls_url_rate3":"", |
| 95 | 98 | "hls_url_rate4":"" |
| 96 | 99 | } |
| ... | ... | @@ -100,15 +103,17 @@ HTTP GET |
| 100 | 103 | ``` |
| 101 | 104 | |
| 102 | 105 | |
| 106 | +#### java示例 | |
| 103 | 107 | |
| 104 | 108 | ``` java |
| 105 | -public String getPlayInfo() { | |
| 109 | +public Object getPlayInfo() { | |
| 106 | 110 | String result = ""; |
| 107 | 111 | Map params = new HashMap<>(); |
| 108 | - params.put("sp_id", "iqhpk8pl19"); | |
| 109 | - params.put("customID", "d849bb4277be42799df3ffc21654d949"); | |
| 112 | + params.put("appId", "iqj730vn11"); | |
| 113 | + params.put("acitivityId", "d849bb4277be42799df3ffc21654d949"); | |
| 110 | 114 | params.put("timestamp", System.currentTimeMillis()/1000+""); |
| 111 | - String url = OpenUtil.buildURL("http://api.cnlive.com/open/api2/zbsc/getLiveActivityPlayInfo", params, "672db30805f848f59ec3728f8347a4a0"); | |
| 115 | + params.put("platform_id", ""); | |
| 116 | + String url = OpenUtil.buildURL("http://api.cnlive.com/open/api2/live_epg/getLiveActivityPlayInfo4App", params, "87ef486a53d637524ba75a4ebcb2d6d8c48d00e56fc2d4"); | |
| 112 | 117 | HttpURLConnection connection; |
| 113 | 118 | try { |
| 114 | 119 | URL requestUrl = new URL(url); |
| ... | ... | @@ -136,7 +141,7 @@ public String getPlayInfo() { |
| 136 | 141 | |
| 137 | 142 | if(BaseUtil.notBlank(result)) { |
| 138 | 143 | JSONObject resultJson = JSONObject.parseObject(result); |
| 139 | - return resultJson.getJSONObject("data").getString("hls_url_rate2"); | |
| 144 | + return resultJson; | |
| 140 | 145 | } |
| 141 | 146 | |
| 142 | 147 | return ""; | ... | ... |
02.直播云/1.2 获取flash直播URL接口.md
| 1 | 1 | ### 获取RTMP直播播放URL接口 |
| 2 | 2 | ----- |
| 3 | -#### URL: http://api.cnlive.com/open/api2/play/IPS/liveplayBySWF | |
| 3 | +#### URL: http://api.cnlive.com/open/api2/live_ips/liveplayBySWF | |
| 4 | 4 | ----- |
| 5 | 5 | #### 接口说明: 返回RTMP/FLV直播播放地址 (供 swf或 PC页面 调用) |
| 6 | 6 | ----- |
| ... | ... | @@ -11,12 +11,59 @@ |
| 11 | 11 | #### 请求参数说明: |
| 12 | 12 | | 参数名 | 参数类型 | 必选 | 参数说明 | |
| 13 | 13 | | :----------- | :------: | :------: | :------: | |
| 14 | -| sp_id | string | true | 应用ID | | |
| 14 | +| appId | string | true | 应用ID | | |
| 15 | 15 | | channelID| string | true | 直播频道或 devID_主播ID | |
| 16 | 16 | | uid| string | false | 用户标识(uuid_时间戳)| |
| 17 | 17 | | sid| string | false | 用户ID | |
| 18 | 18 | | retry | int | false | 重试次数,在0~4之间累加 | |
| 19 | 19 | | rate | int | false | 1-流畅,2-标清,3-高清,4-超清,不传为2,EPG接口会返回实际的码流路数--标清为必须项| |
| 20 | 20 | |
| 21 | +#### 返回结果 json | |
| 22 | +```json | |
| 23 | + { | |
| 24 | + "errorMessage":"成功", | |
| 25 | + "data":{ | |
| 26 | + "location":"rtmp://wsrtmp4.live.cnlive.com/cdn/xinyingshi?wsSecret=f10722a1a2ffd198772b2ac8cf1c0afb&wsTime=57a3f066" | |
| 27 | + }, | |
| 28 | + "errorCode":"0" | |
| 29 | + } | |
| 30 | +``` | |
| 21 | 31 | |
| 22 | -#### 页面播放DEMO: | |
| 23 | 32 | \ No newline at end of file |
| 33 | +#### java 示例 | |
| 34 | + | |
| 35 | +```java | |
| 36 | + public String getFlashUrl() { | |
| 37 | + String result = ""; | |
| 38 | + String mp4Url = "http://api.cnlive.com/open/api2/live_ips/liveplayBySWF?channelID=xinyingshi&appId=iqj730vn11"; | |
| 39 | + try { | |
| 40 | + URL requestUrl = new URL(mp4Url); | |
| 41 | + connection = (HttpURLConnection)requestUrl.openConnection(); | |
| 42 | + connection.setRequestMethod("GET"); | |
| 43 | + connection.setDoInput(true); | |
| 44 | + connection.setDoOutput(true); | |
| 45 | + connection.connect();//连接 | |
| 46 | + | |
| 47 | + //获得返回值 | |
| 48 | + if(connection.getResponseCode() == HttpURLConnection.HTTP_OK){ | |
| 49 | + InputStream in = connection.getInputStream(); | |
| 50 | + String currentLine = ""; | |
| 51 | + if(in != null){ | |
| 52 | + BufferedReader br = new BufferedReader(new InputStreamReader(in,"utf-8")); | |
| 53 | + while((currentLine = br.readLine()) != null){ | |
| 54 | + result += currentLine; | |
| 55 | + } | |
| 56 | + br.close(); | |
| 57 | + } | |
| 58 | + } | |
| 59 | + }catch (Exception e) { | |
| 60 | + e.printStackTrace(); | |
| 61 | + } | |
| 62 | + if(BaseUtil.notBlank(result)) { | |
| 63 | + resultJson = JSONObject.parseObject(result); | |
| 64 | + result = resultJson.getJSONObject("data").getString("location"); | |
| 65 | + } | |
| 66 | + return result; | |
| 67 | + } | |
| 68 | +``` | |
| 69 | + | |
| 70 | +#### [页面播放DEMO](http://open.cnlive.com/demo/live/flash_live_demo.html) | |
| 24 | 71 | \ No newline at end of file | ... | ... |
02.直播云/1.3 创建直播活动接口.md
02.直播云/1.7 获取直播回放接口.md
| 1 | -### 创建直播活动接口 | |
| 1 | +### 获取直播的回放接口 | |
| 2 | 2 | ----- |
| 3 | -#### URL: http://api.cnlive.com/open/api3/play/IPS/CreateActivity | |
| 3 | +#### URL: http://api.cnlive.com/open/api2/live_zbsc/getActivityVodInfo | |
| 4 | 4 | ----- |
| 5 | -#### 接口说明: 返回直播播放地址 | |
| 5 | +#### 接口说明: 返回直播回放节目的EPG | |
| 6 | 6 | ----- |
| 7 | 7 | #### 请求方式: HTTP GET |
| 8 | 8 | ----- |
| ... | ... | @@ -11,11 +11,8 @@ |
| 11 | 11 | #### 请求参数说明: |
| 12 | 12 | | 参数名 | 参数类型 | 必选 | 参数说明 | |
| 13 | 13 | | :----------- | :------: | :------: | :------: | |
| 14 | -| sp_id | string | true | 应用ID | | |
| 14 | +| appId | string | true | 应用ID | | |
| 15 | 15 | | activityid| string | true | 活动ID,确保SP下的唯一性 | |
| 16 | -| activityname | string | false | 活动名称 | | |
| 17 | -| channelID | string | true | 播放通道;PGC:平台分配/UGC:主播ID生成,确保SP下的唯一性 | | |
| 18 | -| sp_id | string | true | 应用ID | | |
| 19 | 16 | | sign | String | true | 签名规则见<a href="http://help.open.cnlive.com/common.html">签名详情</a> | |
| 20 | 17 | |
| 21 | 18 | #### 返回说明: |
| ... | ... | @@ -23,5 +20,7 @@ |
| 23 | 20 | { |
| 24 | 21 | "errorCode":"0", |
| 25 | 22 | "messagae":"请求成功" |
| 23 | + data{ | |
| 24 | + } | |
| 26 | 25 | } |
| 27 | 26 | ``` |
| 28 | 27 | \ No newline at end of file | ... | ... |
02.直播云/1.8 获取APP直播URL接口.md
| 1 | 1 | ### 获取APP直播URL接口 |
| 2 | 2 | ----- |
| 3 | -#### URL: http://api.cnlive.com/open/api3/play/IPS/liveplayByAPP | |
| 3 | +#### URL: http://api.cnlive.com/open/api2/live_ips/liveplayByAPP | |
| 4 | 4 | ----- |
| 5 | 5 | #### 接口说明: 返回直播播放地址 (HLS or RTMP) |
| 6 | 6 | ----- |
| ... | ... | @@ -11,7 +11,7 @@ |
| 11 | 11 | #### 请求参数说明: |
| 12 | 12 | | 参数名 | 参数类型 | 必选 | 参数说明 | |
| 13 | 13 | | :----------- | :------: | :------: | :------: | |
| 14 | -| sp_id | string | true | 应用ID | | |
| 14 | +| appId | string | true | 应用ID | | |
| 15 | 15 | | channelID| string | true | 直播频道或主播ID | |
| 16 | 16 | | uid| string | false | 用户标识(uuid_时间戳),不传为0 | |
| 17 | 17 | | sid| string | false | 用户ID,不传为0 | | ... | ... |
02.直播云/1.9 获取H5直播URL接口.md
| 1 | 1 | ### 获取直播URL接口 |
| 2 | 2 | ----- |
| 3 | -#### URL: http://api.cnlive.com/open/api3/play/IPS/liveplayByH5 | |
| 3 | +#### URL: http://api.cnlive.com/open/api2/live_ips/liveplayByH5 | |
| 4 | 4 | ----- |
| 5 | 5 | #### 接口说明: 返回直播播放地址(HLS) |
| 6 | 6 | ----- |
| ... | ... | @@ -11,9 +11,11 @@ |
| 11 | 11 | #### 请求参数说明: |
| 12 | 12 | | 参数名 | 参数类型 | 必选 | 参数说明 | |
| 13 | 13 | | :----------- | :------: | :------: | :------: | |
| 14 | -| sp_id | string | true | 应用ID | | |
| 14 | +| appId | string | true | 应用ID | | |
| 15 | 15 | | channelID| string | true | 直播频道或主播ID | |
| 16 | -| uuid| string | false | 用户标识(uuid_时间戳),不传为0 | | |
| 16 | +| uid| string | false | 用户标识(uuid_时间戳),不传为0 | | |
| 17 | 17 | | sid| string | false | 用户ID,不传为0 | |
| 18 | 18 | | retry | int | false | 重试次数,从0开始,不断累加,不传为0 | |
| 19 | -| rate | int | false | 1-流畅,2-标清,3-高清,4-超清,不传为2,EPG接口会返回实际的码流路数--标清为必须项| | |
| 20 | 19 | \ No newline at end of file |
| 20 | +| rate | int | false | 1-流畅,2-标清,3-高清,4-超清,不传为2,EPG接口会返回实际的码流路数--标清为必须项| | |
| 21 | + | |
| 22 | +#### [页面DEMO](http://open.cnlive.com/demo/live/h5_live_demo.html) | |
| 21 | 23 | \ No newline at end of file | ... | ... |
04.用户云/1.6 登录注册-登录.md
05.互动云/3.1 创建聊天室接口.md
05.互动云/3.2 释放聊天室接口.md
05.互动云/3.3 发送聊天信息接口.md
05.互动云/3.6 客户端SDK连接聊天室鉴权接口.md
| 1 | +### 客户端SDK连接聊天室鉴权接口 | |
| 2 | +----- | |
| 3 | +#### URL: http://api.cnlive.com/open/api2/interacitve_chat/CnliveM3/chat/roomAuthCheck | |
| 4 | +----- | |
| 5 | +#### 请求方式: HTTP POST | |
| 6 | +----- | |
| 7 | +#### 返回格式: JSON | |
| 8 | +----- | |
| 9 | +#### 请求参数说明: | |
| 10 | +| 参数名 | 参数类型 | 必选 | 参数说明 | | |
| 11 | +| :-----------: | :------: | :------: | :------: | | |
| 12 | +| appId | String | true | 应用ID | | |
| 13 | +| id | String | true | 聊天室ID | | |
| 14 | +| sign | String | true | 签名| | |
| 15 | +----- | |
| 16 | +#### 返回格式说明: | |
| 17 | +``` | |
| 18 | +{ | |
| 19 | + "errorCode":"0", | |
| 20 | + "errorMessage":"成功" | |
| 21 | +} | |
| 22 | + | |
| 23 | +{ | |
| 24 | + "errorCode":"530xx", | |
| 25 | + "errorMessage":"无权访问" | |
| 26 | +} | |
| 27 | + | |
| 28 | +``` | |
| 0 | 29 | \ No newline at end of file | ... | ... |