Live/thirdapi
第1行: | 第1行: | ||
=直播服务第三方接入= | =直播服务第三方接入= | ||
==第三方直播源接入流程== | ==第三方直播源接入流程== | ||
+ | 适用有自己的直播CDN服务的第三方接入: | ||
+ | 第一步:第三方申请微博开发者,获取平台分配的应用appkey [http://open.weibo.com/wiki/%E6%96%B0%E6%89%8B%E6%8C%87%E5%8D%97 详见新手指南] | ||
+ | 第二步:第三方提供分享到微博的直播播放落地页url | ||
+ | 第三步:第三方提供回调接口,平台提供domainid,详见下文 | ||
+ | 第四步:平台配置分享url第三方回调,解析直播播放card | ||
+ | 触发机制:新的url分享到微博默认回调,平台永久缓存对应的直播对象信息,之后除非触发某种更新机制,会再次回调 | ||
+ | 第五步:平台申请直播业务bizid,配置客户端和PC端的直播card解析 | ||
+ | 第六步:第三方主动更新直播信息,平台分配加密秘钥 | ||
− | == | + | ==第三方提供回调接口== |
URL : http://***.com/***?url=*** | URL : http://***.com/***?url=*** | ||
− | + | 说明:由第三方提供该回调接口,返回完整的JSON格式的直播对象信息,参数url为透传第三方分享到微博的链接地址url | |
<b>参数说明:</b> | <b>参数说明:</b> | ||
第20行: | 第28行: | ||
<td>summary</td> | <td>summary</td> | ||
<td>-</td> | <td>-</td> | ||
− | <td> | + | <td>微博文本内容,分享到微博的文本内容</td> |
</tr> | </tr> | ||
第42行: | 第50行: | ||
<td rowspan='8'>urls</td> | <td rowspan='8'>urls</td> | ||
<td>live_flv_hd</td> | <td>live_flv_hd</td> | ||
− | <td>直播高清地址- | + | <td>直播高清地址-flv格式,如没有默认空</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>live_flv_ld</td> | <td>live_flv_ld</td> | ||
− | <td>直播标清地址- | + | <td>直播标清地址-flv格式,如没有默认空</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>rtmp_hd</td> | <td>rtmp_hd</td> | ||
− | <td>直播高清地址- | + | <td>直播高清地址-rtmp格式,如没有默认空</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>rtmp_ld</td> | <td>rtmp_ld</td> | ||
− | <td>直播标清地址- | + | <td>直播标清地址-rtmp格式,如没有默认空</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>live_hd</td> | <td>live_hd</td> | ||
− | <td>直播高清地址- | + | <td>直播高清地址-hls格式,如没有默认空</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>live_ld</td> | <td>live_ld</td> | ||
− | <td>直播标清地址- | + | <td>直播标清地址-hls格式,如没有默认空,以上格式必须提供一种,如果没有分高标清,赋值成相同的地址</td> |
</tr> | </tr> | ||
第99行: | 第107行: | ||
<td rowspan='3'>author</td> | <td rowspan='3'>author</td> | ||
<td>id</td> | <td>id</td> | ||
− | <td>直播主播对应的微博用户id(uid) | + | <td>直播主播对应的微博用户id(uid),如果第三方没有对应的微博UID,第三方回调接口请直接返回错误提示</td> |
</tr> | </tr> | ||
第109行: | 第117行: | ||
<tr> | <tr> | ||
<td>display_name</td> | <td>display_name</td> | ||
− | <td> | + | <td>直播主播微博昵称</td> |
</tr> | </tr> | ||
第115行: | 第123行: | ||
<td rowspan='3'>live</td> | <td rowspan='3'>live</td> | ||
<td>width</td> | <td>width</td> | ||
− | <td> | + | <td>直播流宽,直播流原始分辨率,根据这个宽高比信息自适应直播播放器显示横屏竖屏</td> |
</tr> | </tr> | ||
第131行: | 第139行: | ||
<td>id</td> | <td>id</td> | ||
<td>-</td> | <td>-</td> | ||
− | <td>直播对象ID,一般默认规则(domainid:md5(url) | + | <td>直播对象ID,一般默认规则(domainid:md5(url)),冒号之前为微博平台分配的域名ID,冒号之后保证唯一值</td> |
</tr> | </tr> | ||
第143行: | 第151行: | ||
<td>object_type_detail</td> | <td>object_type_detail</td> | ||
<td>-</td> | <td>-</td> | ||
− | <td> | + | <td>直播对象详情,默认微博直播“weibolive”</td> |
</tr> | </tr> | ||
第149行: | 第157行: | ||
<td>mid</td> | <td>mid</td> | ||
<td>-</td> | <td>-</td> | ||
− | <td> | + | <td>直播主播分享的原创微博mid,目前第三方接入微博sdk的方式分享到微博无法获取到mid,只有通过服务层调用平台分享微博接口才能获取到mid,如没有默认空,影响互动打通等直播功能</td> |
</tr> | </tr> | ||
第191行: | 第199行: | ||
<td>duration</td> | <td>duration</td> | ||
<td>-</td> | <td>-</td> | ||
− | <td> | + | <td>直播持续时长</td> |
</tr> | </tr> | ||
第239行: | 第247行: | ||
<td>app_ios_url</td> | <td>app_ios_url</td> | ||
<td>-</td> | <td>-</td> | ||
− | <td> | + | <td>呼起第三方直播ios app下载地址,默认空</td> |
</tr> | </tr> | ||
第245行: | 第253行: | ||
<td>app_android_url</td> | <td>app_android_url</td> | ||
<td>-</td> | <td>-</td> | ||
− | <td> | + | <td>呼起第三方直播android app下载地址,默认空</td> |
</tr> | </tr> | ||
第340行: | 第348行: | ||
{{rdes_args|code|string|错误代码,0 请求正常,其他错误详见下文的错误代码说明}} | {{rdes_args|code|string|错误代码,0 请求正常,其他错误详见下文的错误代码说明}} | ||
{{rdes_args|msg|string|错误信息}} | {{rdes_args|msg|string|错误信息}} | ||
− | {{rdes_args|data|string|如果请求正常,返回直播对象信息} | + | {{rdes_args|data|string|如果请求正常,返回直播对象信息}} |
|} | |} | ||
第352行: | 第360行: | ||
==接口签名校验== | ==接口签名校验== | ||
− | + | 每个接入的第三方会分配一个秘钥,根据微博提供的加密算法进行接口校验,加密算法微博平台单独文档提供 | |
==错误代码== | ==错误代码== |
2016年6月3日 (五) 21:24的版本
目录 |
直播服务第三方接入
第三方直播源接入流程
适用有自己的直播CDN服务的第三方接入: 第一步:第三方申请微博开发者,获取平台分配的应用appkey 详见新手指南 第二步:第三方提供分享到微博的直播播放落地页url 第三步:第三方提供回调接口,平台提供domainid,详见下文 第四步:平台配置分享url第三方回调,解析直播播放card 触发机制:新的url分享到微博默认回调,平台永久缓存对应的直播对象信息,之后除非触发某种更新机制,会再次回调 第五步:平台申请直播业务bizid,配置客户端和PC端的直播card解析 第六步:第三方主动更新直播信息,平台分配加密秘钥
第三方提供回调接口
URL : http://***.com/***?url=***
说明:由第三方提供该回调接口,返回完整的JSON格式的直播对象信息,参数url为透传第三方分享到微博的链接地址url
参数说明:
直播对象一级字段 | 二级字段 | 字段说明 |
---|---|---|
summary | - | 微博文本内容,分享到微博的文本内容 |
stream | hd_url | 直播高清地址 |
format | 直播地址格式 | |
ld_url | 直播标清地址 | |
urls | live_flv_hd | 直播高清地址-flv格式,如没有默认空 |
live_flv_ld | 直播标清地址-flv格式,如没有默认空 | |
rtmp_hd | 直播高清地址-rtmp格式,如没有默认空 | |
rtmp_ld | 直播标清地址-rtmp格式,如没有默认空 | |
live_hd | 直播高清地址-hls格式,如没有默认空 | |
live_ld | 直播标清地址-hls格式,如没有默认空,以上格式必须提供一种,如果没有分高标清,赋值成相同的地址 | |
replay_hd | 直播回放高清地址 | |
replay_ld | 直播回放标清地址 | |
image | width | 封面图宽 |
height | 封面图高 | |
url | 直播封面图地址 | |
author | id | 直播主播对应的微博用户id(uid),如果第三方没有对应的微博UID,第三方回调接口请直接返回错误提示 |
object_type | 直播主播类型,默认person | |
display_name | 直播主播微博昵称 | |
live | width | 直播流宽,直播流原始分辨率,根据这个宽高比信息自适应直播播放器显示横屏竖屏 |
height | 直播流高 | |
bitrate | 直播流码率 | |
id | - | 直播对象ID,一般默认规则(domainid:md5(url)),冒号之前为微博平台分配的域名ID,冒号之后保证唯一值 |
object_type | - | 直播对象类型,默认 live |
object_type_detail | - | 直播对象详情,默认微博直播“weibolive” |
mid | - | 直播主播分享的原创微博mid,目前第三方接入微博sdk的方式分享到微博无法获取到mid,只有通过服务层调用平台分享微博接口才能获取到mid,如没有默认空,影响互动打通等直播功能 |
display_name | - | 直播短链标题,默认“微博直播” |
title | - | 直播标题 |
status | - | 直播实时状态(0 未开始,1 直播中,2 直播删除, 3 直播结束) |
stime | - | 直播开始时间 |
etime | - | 直播结束时间 |
updated_at | - | 直播创建时间 |
duration | - | 直播持续时长 |
url | - | 直播落地页地址 |
target_url | - | 直播落地页地址 |
share_text | - | 直播分享文案 |
embed_code | - | 直播flash播放地址 |
updated_at | - | 直播对象ID |
scheme_app_ios | - | 呼起第三方直播ios app地址,默认空 |
scheme_app_android | - | 呼起第三方直播android app地址,默认空 |
app_ios_url | - | 呼起第三方直播ios app下载地址,默认空 |
app_android_url | - | 呼起第三方直播android app下载地址,默认空 |
示例:
{ summary: "【暴雨袭击江西南昌 央视记者正在直播】江西省南昌市昨晚迎来强降雨,27个站点降雨量超过100毫米,气象部门不断升级暴雨预警。今天,南昌市区多个路段出现积水,记者所在的立交桥积水深度超过1.5米,有车辆陷入积水中。央视新闻记者正在现场直播。(央视记者王舒畅)", stream: { hd_url: "http://***", format: "m3u8", url: "http://***" }, app_android_url: "", stime: "2016-06-02 11:24:46", id: "1042097:5d9361da897dfe7c7d1f343b74bee53d", object_type: "live", author: { id: "2656274875", object_type: "person", display_name: "央视新闻" }, title: "暴雨袭击南昌 央视记者正在直播", scheme_app_android: "", app_ios_url: "", scheme_app_ios: "", disable_replay: 0, share_text: "@央视新闻 正在直播中,场面异常火爆,小伙伴们速来围观... http://live.weibo.com/show?id=1042097:5d9361da897dfe7c7d1f343b74bee53d", live: { height: "450", width: "800", bitrate: "500" }, status: 3, urls: { live_ld: "http://***", replay_ld: "http://***", rtmp_ld: "rtmp://***", live_flv_ld: "http://***.flv", live_hd: "http://***", replay_hd: "http://***", rtmp_hd: "rtmp://***", live_flv_hd: "http://***.flv", }, object_type_detail: "weibolive", //第三方接入命名协商 image: { height: "450", width: "800", url: "http://ww3.sinaimg.cn/large/941f7a2fjw1f4gptlnkh0j20fk08rgo7.jpg" }, url: "http://live.weibo.com/show?id=1042097:5d9361da897dfe7c7d1f343b74bee53d", background_url: "", display_name: "微博直播", //微博短链上的文案显示 duration: 1218.599, updated_at: "2016-06-02", etime: "2016-06-02 12:01:01", embed_code: "http://****/v.swf", //第三方直播播放器 mid: "3981885077804051", target_url: "http://live.weibo.com/show?id=1042097:5d9361da897dfe7c7d1f343b74bee53d", }
更新直播信息接口
URL : http://live.weibo.com/proxy/updatestatus [POST]
说明:第三方直播对象的任何信息发生变更,需要调用该接口同步微博,比如直播状态变更、播放地址更新、回放地址生成、封面图更新等等
参数:
参数字段 | 字段必选 | 字段类型 | 字段说明 |
---|---|---|---|
source | true | string | 直播来源,即appkey |
uid | true | string | 直播主播的微博uid |
liveid | true | string | 直播ID,即直播对象中的id |
status | true | string | 直播状态,0:未直播 1:直播中 2:删除或举报 3:直播结束 4:直播延迟 |
url | true | string | 第三方直播落地页,即直播对象中的url |
sign | true | string | 签名校验,具体的加密算法见下文 |
useragent | false | string | 用户ua信息 |
返回:
参数字段 | 字段必选 | 字段说明 |
---|---|---|
code | string | 错误代码,0 请求正常,其他错误详见下文的错误代码说明 |
msg | string | 错误信息 |
data | string | 如果请求正常,返回直播对象信息 |
示例:
{ }
接口签名校验
每个接入的第三方会分配一个秘钥,根据微博提供的加密算法进行接口校验,加密算法微博平台单独文档提供
错误代码
错误码
错误码 | 错误msg | 描述 |
---|---|---|
10000 | sign error | sign值错误 |
10001 | id error | 直播id不存在 |
10002 | param loss | 字段为空 |
10003 | param error | 字段错误 |