Live/thirdapi

跳转到: 导航, 搜索
(第三方直播源接入流程)
 
(未显示1个用户的14个中间版本)
第1行: 第1行:
 
=直播服务第三方接入=
 
=直播服务第三方接入=
 
==第三方直播源接入流程==
 
==第三方直播源接入流程==
适用有自己的直播CDN服务的第三方接入:
+
这种接入方式适用于已有直播服务的开发者。
第一步:第三方申请微博开发者,获取平台分配的应用appkey [http://open.weibo.com/wiki/%E6%96%B0%E6%89%8B%E6%8C%87%E5%8D%97 详见新手指南]
+
开发者将包含其直播间页面URL的博文,通过微博平台接口分享至微博,微博会识别开发者的URL域名,然后回调其提供的直播信息接口,获取该URL的直播信息,最后带有该直播URL的微博会以直播的形式展现给用户。
第二步:第三方提供分享到微博的直播播放落地页url
+
 
第三步:第三方提供回调接口,平台提供domainid,详见下文
+
开发者接入步骤如下:
第四步:平台配置分享url第三方回调,解析直播播放card
+
 
触发机制:新的url分享到微博默认回调,平台永久缓存对应的直播对象信息,之后除非触发某种更新机制,会再次回调
+
第一步:申请成为微博平台开发者。[http://open.weibo.com/wiki/%E6%96%B0%E6%89%8B%E6%8C%87%E5%8D%97 详见新手指南]
第五步:平台申请直播业务bizid,配置客户端和PC端的直播card解析
+
 
第六步:第三方主动更新直播信息,平台分配加密秘钥
+
第二步:提供直播页面的URL域名。
 +
 
 +
第三步:提供直播信息回调接口。 详见下文
 +
 
 +
第四步:直播信息若有变动(如直播开始和结束),需要主动调用微博接口更新该直播信息。 详见下文
 +
 
 +
第五步:开发联调,测试上线。
  
 
==第三方提供回调接口==
 
==第三方提供回调接口==
第28行: 第34行:
 
<td>summary</td>
 
<td>summary</td>
 
<td>-</td>
 
<td>-</td>
<td>微博文本内容,分享到微博的文本内容</td>
+
<td>微博文本内容,分享到微博的文本内容,如没有默认空</td>
</tr>
+
 
+
<tr>
+
<td rowspan='3'>stream</td>
+
<td>hd_url</td>
+
<td>直播高清地址</td>
+
</tr>
+
 
+
<tr>
+
<td>format</td>
+
<td>直播地址格式</td>
+
</tr>
+
 
+
<tr>
+
<td>ld_url</td>
+
<td>直播标清地址</td>
+
 
</tr>
 
</tr>
  
第80行: 第70行:
 
<tr>
 
<tr>
 
<td>replay_hd</td>
 
<td>replay_hd</td>
<td>直播回放高清地址</td>
+
<td>直播回放高清地址,如没有默认空</td>
 
</tr>
 
</tr>
  
 
<tr>
 
<tr>
 
<td>replay_ld</td>
 
<td>replay_ld</td>
<td>直播回放标清地址</td>
+
<td>直播回放标清地址,如没有默认空</td>
 
</tr>
 
</tr>
  
第117行: 第107行:
 
<tr>
 
<tr>
 
<td>display_name</td>
 
<td>display_name</td>
<td>直播主播微博昵称</td>
+
<td>直播主播微博昵称,如没有默认空</td>
 
</tr>
 
</tr>
  
第145行: 第135行:
 
<td>object_type</td>
 
<td>object_type</td>
 
<td>-</td>
 
<td>-</td>
<td>直播对象类型,默认 live</td>
+
<td>直播对象类型,填写live</td>
 
</tr>
 
</tr>
  
第151行: 第141行:
 
<td>object_type_detail</td>
 
<td>object_type_detail</td>
 
<td>-</td>
 
<td>-</td>
<td>直播对象详情,默认微博直播“weibolive”</td>
+
<td>直播对象详情,默认微博直播“weibolive”,第三方协商命名</td>
 
</tr>
 
</tr>
  
第163行: 第153行:
 
<td>display_name</td>
 
<td>display_name</td>
 
<td>-</td>
 
<td>-</td>
<td>直播短链标题,默认“微博直播”</td>
+
<td>直播短链标题,默认“微博直播”,第三方协商命名</td>
 
</tr>
 
</tr>
  
第205行: 第195行:
 
<td>url</td>
 
<td>url</td>
 
<td>-</td>
 
<td>-</td>
<td>直播落地页地址</td>
+
<td>第三方直播播放落地页地址</td>
 
</tr>
 
</tr>
  
第211行: 第201行:
 
<td>target_url</td>
 
<td>target_url</td>
 
<td>-</td>
 
<td>-</td>
<td>直播落地页地址</td>
+
<td>第三方直播播放落地页地址,同url</td>
 
</tr>
 
</tr>
  
第217行: 第207行:
 
<td>share_text</td>
 
<td>share_text</td>
 
<td>-</td>
 
<td>-</td>
<td>直播分享文案</td>
+
<td>直播分享文案,如没有默认空</td>
 
</tr>
 
</tr>
  
第223行: 第213行:
 
<td>embed_code</td>
 
<td>embed_code</td>
 
<td>-</td>
 
<td>-</td>
<td>直播flash播放地址</td>
+
<td>直播flash播放地址,如没有默认空,影响PC端展示解析</td>
</tr>
+
 
+
<tr>
+
<td>updated_at</td>
+
<td>-</td>
+
<td>直播对象ID</td>
+
 
</tr>
 
</tr>
  
第260行: 第244行:
  
 
示例:
 
示例:
<pre>
+
 
 +
 
 +
<pre class="brush:js">
 
{
 
{
summary: "【暴雨袭击江西南昌 央视记者正在直播】江西省南昌市昨晚迎来强降雨,27个站点降雨量超过100毫米,气象部门不断升级暴雨预警。今天,南昌市区多个路段出现积水,记者所在的立交桥积水深度超过1.5米,有车辆陷入积水中。央视新闻记者正在现场直播。(央视记者王舒畅)",
+
    "summary": "【暴雨袭击江西南昌 央视记者正在直播】江西省南昌市昨晚迎来强降雨,27个站点降雨量超过100毫米,气象部门不断升级暴雨预警。今天,南昌市区多个路段出现积水,记者所在的立交桥积水深度超过1.5米,有车辆陷入积水中。央视新闻记者正在现场直播。(央视记者王舒畅)",  
stream: {
+
    "stream": {
hd_url: "http://***",
+
        "hd_url": "http://***",  
format: "m3u8",
+
        "format": "m3u8",  
url: "http://***"
+
        "url": "http://***"
},
+
    },  
app_android_url: "",
+
    "app_android_url": "",  
stime: "2016-06-02 11:24:46",
+
    "stime": "2016-06-02 11:24:46",  
id: "1042097:5d9361da897dfe7c7d1f343b74bee53d",
+
    "id": "1042097:5d9361da897dfe7c7d1f343b74bee53d",  
object_type: "live",
+
    "object_type": "live",  
author: {
+
    "author": {
id: "2656274875",
+
        "id": "2656274875",  
object_type: "person",
+
        "object_type": "person",  
display_name: "央视新闻"
+
        "display_name": "央视新闻"
},
+
    },  
title: "暴雨袭击南昌 央视记者正在直播",
+
    "title": "暴雨袭击南昌 央视记者正在直播",  
scheme_app_android: "",
+
    "scheme_app_android": "",  
app_ios_url: "",
+
    "app_ios_url": "",  
scheme_app_ios: "",
+
    "scheme_app_ios": "",  
disable_replay: 0,
+
    "disable_replay": 0,  
share_text: "@央视新闻 正在直播中,场面异常火爆,小伙伴们速来围观... http://live.weibo.com/show?id=1042097:5d9361da897dfe7c7d1f343b74bee53d",
+
    "share_text": "@央视新闻 正在直播中,场面异常火爆,小伙伴们速来围观... http://live.weibo.com/show?id=1042097:5d9361da897dfe7c7d1f343b74bee53d",  
live: {
+
    "live": {
height: "450",
+
        "height": "450",  
width: "800",
+
        "width": "800",  
bitrate: "500"
+
        "bitrate": "500"
},
+
    },  
status: 3,
+
    "status": 3,  
urls: {
+
    "urls": {
live_ld: "http://***",
+
        "live_ld": "http://***",  
replay_ld: "http://***",
+
        "replay_ld": "http://***",  
rtmp_ld: "rtmp://***",
+
        "rtmp_ld": "rtmp://***",  
live_flv_ld: "http://***.flv",
+
        "live_flv_ld": "http://***.flv",  
live_hd: "http://***",
+
        "live_hd": "http://***",  
replay_hd: "http://***",
+
        "replay_hd": "http://***",  
rtmp_hd: "rtmp://***",
+
        "rtmp_hd": "rtmp://***",  
live_flv_hd: "http://***.flv",
+
        "live_flv_hd": "http://***.flv"
},
+
    },  
object_type_detail: "weibolive", //第三方接入命名协商
+
    "object_type_detail": "weibolive",  
image: {
+
    "image": {
height: "450",
+
        "height": "450",  
width: "800",
+
        "width": "800",  
url: "http://ww3.sinaimg.cn/large/941f7a2fjw1f4gptlnkh0j20fk08rgo7.jpg"
+
        "url": "http://ww3.sinaimg.cn/large/941f7a2fjw1f4gptlnkh0j20fk08rgo7.jpg"
},
+
    },  
url: "http://live.weibo.com/show?id=1042097:5d9361da897dfe7c7d1f343b74bee53d",
+
    "url": "http://live.weibo.com/show?id=1042097:5d9361da897dfe7c7d1f343b74bee53d",  
background_url: "",
+
    "background_url": "",  
display_name: "微博直播", //微博短链上的文案显示
+
    "display_name": "微博直播",  
duration: 1218.599,
+
    "duration": 1218.599,  
updated_at: "2016-06-02",
+
    "updated_at": "2016-06-02",  
etime: "2016-06-02 12:01:01",
+
    "etime": "2016-06-02 12:01:01",  
embed_code: "http://****/v.swf", //第三方直播播放器
+
    "embed_code": "http://****/v.swf",  
mid: "3981885077804051",
+
    "mid": "3981885077804051",  
target_url: "http://live.weibo.com/show?id=1042097:5d9361da897dfe7c7d1f343b74bee53d",
+
    "target_url": "http://live.weibo.com/show?id=1042097:5d9361da897dfe7c7d1f343b74bee53d"
 
}
 
}
 
</pre>
 
</pre>
  
==更新直播信息接口==
+
==第三方主动更新直播信息接口==
 
URL : http://live.weibo.com/proxy/updatestatus [POST]
 
URL : http://live.weibo.com/proxy/updatestatus [POST]
  
说明:第三方直播对象的任何信息发生变更,需要调用该接口同步微博,比如直播状态变更、播放地址更新、回放地址生成、封面图更新等等
+
说明:第三方直播对象的任何信息发生变更,需要调用该接口同步微博,比如直播状态变更、播放地址更新、回放地址生成、直播时长更新、封面图更新等等
  
 
参数:
 
参数:
第348行: 第334行:
 
{{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|如果请求正常,返回空数组}}
 
|}
 
|}
  
 
示例:
 
示例:
  
<pre>
+
<pre class="brush:js">
 
{
 
{
+
    "code": 0,
 +
    "msg": "OK",
 +
    "data": [ ]
 
}
 
}
 
</pre>
 
</pre>
第371行: 第359行:
 
!width="40%" style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|错误msg
 
!width="40%" style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|错误msg
 
!width="45%" style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|描述
 
!width="45%" style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|描述
{{rdes_args|10000|sign error|sign值错误}}
+
{{rdes_args|100000|sign_error|sign值错误}}
{{rdes_args|10001|id error|直播id不存在}}
+
{{rdes_args|100001|id_error|直播id不存在}}
{{rdes_args|10002|param loss|字段为空}}
+
{{rdes_args|100002|field_empty|字段为空}}
{{rdes_args|10003|param error|字段错误}}
+
{{rdes_args|100004|object_empty|直播id内容为空}}
 +
{{rdes_args|100005|uid_error|uid错误}}
 +
{{rdes_args|100006|force_update_error|直播信息更新错误}}
 +
{{rdes_args|100007|wesync_error|消息下发错误}}
 +
{{rdes_args|100016|liveim_error|互动下发错误}}
 
|}
 
|}

2016年9月7日 (三) 20:21的最后版本

目录

直播服务第三方接入

第三方直播源接入流程

这种接入方式适用于已有直播服务的开发者。 开发者将包含其直播间页面URL的博文,通过微博平台接口分享至微博,微博会识别开发者的URL域名,然后回调其提供的直播信息接口,获取该URL的直播信息,最后带有该直播URL的微博会以直播的形式展现给用户。

开发者接入步骤如下:

第一步:申请成为微博平台开发者。详见新手指南

第二步:提供直播页面的URL域名。

第三步:提供直播信息回调接口。 详见下文

第四步:直播信息若有变动(如直播开始和结束),需要主动调用微博接口更新该直播信息。 详见下文

第五步:开发联调,测试上线。

第三方提供回调接口

URL : http://***.com/***?url=***

说明:由第三方提供该回调接口,返回完整的JSON格式的直播对象信息,参数url为透传第三方分享到微博的链接地址url

参数说明:

直播对象一级字段 二级字段 字段说明
summary - 微博文本内容,分享到微博的文本内容,如没有默认空
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 - 第三方直播播放落地页地址,同url
share_text - 直播分享文案,如没有默认空
embed_code - 直播flash播放地址,如没有默认空,影响PC端展示解析
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 如果请求正常,返回空数组

示例:

{
    "code": 0, 
    "msg": "OK", 
    "data": [ ]
}

接口签名校验

每个接入的第三方会分配一个秘钥,根据微博提供的加密算法进行接口校验,加密算法微博平台单独文档提供

错误代码

错误码

错误码 错误msg 描述
100000 sign_error sign值错误
100001 id_error 直播id不存在
100002 field_empty 字段为空
100004 object_empty 直播id内容为空
100005 uid_error uid错误
100006 force_update_error 直播信息更新错误
100007 wesync_error 消息下发错误
100016 liveim_error 互动下发错误
文档更新时间: 2016-09-07