From d3533ddf6073aee82f986b2f9a054cedfd1657b1 Mon Sep 17 00:00:00 2001
From: Sihua <827169070@qq.com>
Date: Mon, 12 Oct 2020 16:57:09 +0800
Subject: [PATCH 1/3] =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=9B=B4=E6=92=AD?=
=?UTF-8?q?=E9=97=B4=E8=A7=86=E9=A2=91=E6=B5=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
live/live_flow.md | 127 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 127 insertions(+)
create mode 100644 live/live_flow.md
diff --git a/live/live_flow.md b/live/live_flow.md
new file mode 100644
index 0000000..1005a84
--- /dev/null
+++ b/live/live_flow.md
@@ -0,0 +1,127 @@
+# 直播间视频流
+
+
+
+## 根据真实直播间号获取直播视频流
+
+> https://api.live.bilibili.com/room/v1/Room/playUrl
+
+*请求方式:GET*
+
+**url参数:**
+
+| 参数名 | 类型 | 内容 | 必要性 | 备注 |
+| ------ | ---- | ----------- | ------ | ---- |
+| cid | num | 目标真实直播间号 | 必要 | 为直播间的room_id号 |
+| quality | num | 画质等级 | 非必要 | 画质选择,4为最高画质,qn和quality参数二选一 |
+| platform | str | 直播流格式 | 非必要 | h5为m3u8格式,web为flv格式,默认为flv格式 |
+| qn | str | 画质等级 | 非必要 | 可选参数为1000、150、80,qn和quality参数二选一 |
+
+**json回复:**
+
+根对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ------- | ---- | -------- | --------------------------- |
+| code | num | 返回值 | 0:成功
-400:参数错误 |
+| message | str | 错误信息 | 默认为0 |
+| ttl | str | 1 | |
+| data | obj | 信息本体 | |
+
+
+`data`对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| -------------- | ---- | ------------- | ------------------------ |
+| current_quality | num | 可选画质数量 | |
+| accept_quality | obj | 可选画质数参数 | |
+| current_qn | num | 可选画质数量 | |
+| quality_description | obj | 可选画质参数 | |
+| durl | obj | 直播流url | |
+
+`durl`对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| -------------- | ---- | ------------- | ------------------------ |
+| url | str | 直播流url | |
+| length | num | 未知 | |
+| order | num | 未知 | |
+| stream_type | num | 未知 | |
+| p2p_type | num | 未知 | |
+
+
+
+**示例:**
+
+查询直播间`CID=14073662`的直播间信息
+
+```shell
+curl -G 'http://api.live.bilibili.com/room/v1/Room/room_init'\
+--data-urlencode 'id=14073662'
+```
+
+
+查看响应示例:
+
+```json
+{
+ "code": 0,
+ "message": "0",
+ "ttl": 1,
+ "data": {
+ "current_quality": 3,
+ "accept_quality": [
+ "4",
+ "3",
+ "2"
+ ],
+ "current_qn": 3,
+ "quality_description": [
+ {
+ "qn": 4,
+ "desc": "原画"
+ },
+ {
+ "qn": 3,
+ "desc": "高清"
+ },
+ {
+ "qn": 2,
+ "desc": "流畅"
+ }
+ ],
+ "durl": [
+ {
+ "url": "https://d1--cn-gotcha04.bilivideo.com/live-bvc/601131/live_14073662_bs_3699814_1500.flv?cdn=cn-gotcha04&expires=1602496530&len=0&oi=1939228219&pt=&qn=150&trid=e6540d81a5d04c2ea459c46ebe77472a&sigparams=cdn,expires,len,oi,pt,qn,trid&sign=20e4ac695fbdd1d11d5dac4f93caa783&ptype=0&src=9&sl=1&order=1",
+ "length": 0,
+ "order": 1,
+ "stream_type": 0,
+ "p2p_type": 0
+ },
+ {
+ "url": "https://d1--cn-gotcha01.bilivideo.com/live-bvc/757951/live_14073662_bs_3699814_1500.flv?cdn=cn-gotcha01&expires=1602496530&len=0&oi=1939228219&pt=&qn=150&trid=e6540d81a5d04c2ea459c46ebe77472a&sigparams=cdn,expires,len,oi,pt,qn,trid&sign=9deea67bb9e9c1f0fa3886a34aa09473&ptype=0&src=9&sl=1&order=2",
+ "length": 0,
+ "order": 2,
+ "stream_type": 0,
+ "p2p_type": 0
+ },
+ {
+ "url": "https://d1--cn-gotcha04.bilivideo.com/live-bvc/982058/live_14073662_bs_3699814_1500.flv?cdn=cn-gotcha04&expires=1602496530&len=0&oi=1939228219&pt=&qn=150&trid=e6540d81a5d04c2ea459c46ebe77472a&sigparams=cdn,expires,len,oi,pt,qn,trid&sign=8753b270960034660184d975d86c0161&ptype=0&src=9&sl=1&order=3",
+ "length": 0,
+ "order": 3,
+ "stream_type": 0,
+ "p2p_type": 0
+ },
+ {
+ "url": "https://d1--cn-gotcha04.bilivideo.com/live-bvc/139554/live_14073662_bs_3699814_1500.flv?cdn=cn-gotcha04&expires=1602496530&len=0&oi=1939228219&pt=&qn=150&trid=e6540d81a5d04c2ea459c46ebe77472a&sigparams=cdn,expires,len,oi,pt,qn,trid&sign=cf93474e923c9ba8288c45d954f81045&ptype=0&src=9&sl=1&order=4",
+ "length": 0,
+ "order": 4,
+ "stream_type": 0,
+ "p2p_type": 0
+ }
+ ]
+ }
+}
+```
+
+
From 0736cb77f4edbd284d0f4820cfced4bb0066ce65 Mon Sep 17 00:00:00 2001
From: Sihua <827169070@qq.com>
Date: Mon, 12 Oct 2020 16:59:51 +0800
Subject: [PATCH 2/3] =?UTF-8?q?=E5=AE=8C=E5=96=84README.md?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index 3064b67..4cd7dbe 100644
--- a/README.md
+++ b/README.md
@@ -148,8 +148,8 @@ PS:所有http协议地址均可使用https,文档中为了统一写作`http`
- [直播分区](live/live_area.md)×
- [直播间管理](live/manage.md)×
- 直播间操作
- - 直播视频流
- - 直播信息流
+ - [直播视频流](live/live_flow.md)×
+ - [直播信息流](live/info_flow.md)×
- 答题
- B币钱包
- 基本信息
From a59cc11a923b6ce7726a272702c11426ae40d1a5 Mon Sep 17 00:00:00 2001
From: SocialSisterYi <45892418+SocialSisterYi@users.noreply.github.com>
Date: Fri, 16 Oct 2020 21:06:34 +0800
Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E3=80=90=E8=8E=B7?=
=?UTF-8?q?=E5=8F=96=E7=9B=B4=E6=92=AD=E6=B5=81url=E3=80=91api?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 4 +-
live/{live_flow.md => live_stream.md} | 79 +++++++++++++++++-------
live/{info_flow.md => message_stream.md} | 0
3 files changed, 58 insertions(+), 25 deletions(-)
rename live/{live_flow.md => live_stream.md} (51%)
rename live/{info_flow.md => message_stream.md} (100%)
diff --git a/README.md b/README.md
index 4cd7dbe..c0d7ea4 100644
--- a/README.md
+++ b/README.md
@@ -148,8 +148,8 @@ PS:所有http协议地址均可使用https,文档中为了统一写作`http`
- [直播分区](live/live_area.md)×
- [直播间管理](live/manage.md)×
- 直播间操作
- - [直播视频流](live/live_flow.md)×
- - [直播信息流](live/info_flow.md)×
+ - [直播视频流](live/live_stream.md)×
+ - [直播信息流](live/message_stream.md)×
- 答题
- B币钱包
- 基本信息
diff --git a/live/live_flow.md b/live/live_stream.md
similarity index 51%
rename from live/live_flow.md
rename to live/live_stream.md
index 1005a84..907845f 100644
--- a/live/live_flow.md
+++ b/live/live_stream.md
@@ -1,10 +1,8 @@
# 直播间视频流
-
-
## 根据真实直播间号获取直播视频流
-> https://api.live.bilibili.com/room/v1/Room/playUrl
+> http://api.live.bilibili.com/room/v1/Room/playUrl
*请求方式:GET*
@@ -12,10 +10,10 @@
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | ----------- | ------ | ---- |
-| cid | num | 目标真实直播间号 | 必要 | 为直播间的room_id号 |
-| quality | num | 画质等级 | 非必要 | 画质选择,4为最高画质,qn和quality参数二选一 |
-| platform | str | 直播流格式 | 非必要 | h5为m3u8格式,web为flv格式,默认为flv格式 |
-| qn | str | 画质等级 | 非必要 | 可选参数为1000、150、80,qn和quality参数二选一 |
+| cid | num | 目标真实直播间号 | 必要 | 直播间的`room_id`(非短号) |
+| platform | str | 直播流格式 | 非必要 | h5:hls方式
web:http-flv方式
默认为http-flv方式 |
+| quality | num | 画质 | 非必要 | `qn`与`quality`任选其一
2:流畅
3:高清
4:原画 |
+| qn | str | 画质 | 非必要 | `qn`与`quality`任选其一
80:流畅
150:高清
400:蓝光
10000:原画 |
**json回复:**
@@ -23,7 +21,7 @@
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | --------------------------- |
-| code | num | 返回值 | 0:成功
-400:参数错误 |
+| code | num | 返回值 | 0:成功
-400:参数错误
19002003:房间信息不存在 |
| message | str | 错误信息 | 默认为0 |
| ttl | str | 1 | |
| data | obj | 信息本体 | |
@@ -33,31 +31,62 @@
| 字段 | 类型 | 内容 | 备注 |
| -------------- | ---- | ------------- | ------------------------ |
-| current_quality | num | 可选画质数量 | |
-| accept_quality | obj | 可选画质数参数 | |
-| current_qn | num | 可选画质数量 | |
-| quality_description | obj | 可选画质参数 | |
-| durl | obj | 直播流url | |
+| current_quality | num | 当前画质代码`qn` | |
+| accept_quality | array | 可选画质数参数 | |
+| current_qn | num | 当前画质代码`quality` | |
+| quality_description | array | 可选画质参数`quality` | |
+| durl | array | 直播流url组 | |
-`durl`对象:
+`accept_quality`数组:
+
+| 项 | 类型 | 内容 | 备注 |
+| ---- | ---- | ----------------- | ---- |
+| 0 | str | `qn`画质代码1 | |
+| n | str | `qn`画质代码(n+1) | |
+| …… | str | …… | …… |
+
+`quality_description`数组:
+
+| 项 | 类型 | 内容 | 备注 |
+| ---- | ---- | ------------- | ---- |
+| 0 | obj | 画质代码1 | |
+| n | obj | 画质代码(n+1) | |
+| …… | obj | …… | …… |
+
+`quality_description`数组中的对象:
+
+| 字段 | 类型 | 内容 | 备注 |
+| ---- | ---- | -------------------- | ---- |
+| qn | num | 画质代码 | |
+| desc | str | 该代码对应的画质名称 | |
+
+`durl`数组:
+
+| 项 | 类型 | 内容 | 备注 |
+| ---- | ---- | ----------- | ---- |
+| 0 | obj | 主线服务器 | |
+| n | obj | 备线n服务器 | |
+| …… | obj | …… | …… |
+
+`durl`数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
| -------------- | ---- | ------------- | ------------------------ |
-| url | str | 直播流url | |
-| length | num | 未知 | |
-| order | num | 未知 | |
-| stream_type | num | 未知 | |
-| p2p_type | num | 未知 | |
-
-
+| url | str | 直播流url | flv或m3u8格式
**注:带有转义** |
+| length | num | 0 | 作用尚不明确 |
+| order | num | 服务器线路序号 | |
+| stream_type | num | 0 | 作用尚不明确 |
+| p2p_type | num | 0 | 作用尚不明确 |
**示例:**
查询直播间`CID=14073662`的直播间信息
```shell
-curl -G 'http://api.live.bilibili.com/room/v1/Room/room_init'\
---data-urlencode 'id=14073662'
+curl -G 'http://api.live.bilibili.com/room/v1/Room/playUrl' \
+--data-urlencode 'id=14073662' \
+--data-urlencode 'qn=10000' \
+--data-urlencode 'platform=web'
```
@@ -125,3 +154,7 @@ curl -G 'http://api.live.bilibili.com/room/v1/Room/room_init'\
```
+
+## 播放直播流媒体
+
+以上获得到`url`字段中的值为直播流url,例如`https://d1--cn-gotcha04.bilivideo.com/live-bvc/601131/live_14073662_bs_3699814_1500.flv?cdn=cn-gotcha04&expires=1602496530&len=0&oi=1939228219&pt=&qn=150&trid=e6540d81a5d04c2ea459c46ebe77472a&sigparams=cdn,expires,len,oi,pt,qn,trid&sign=20e4ac695fbdd1d11d5dac4f93caa783&ptype=0&src=9&sl=1&order=1`导入播放器即可播放直播
\ No newline at end of file
diff --git a/live/info_flow.md b/live/message_stream.md
similarity index 100%
rename from live/info_flow.md
rename to live/message_stream.md