XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet
公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/bilibili-API-collect

添加和更新直播回放接口

变更信息参见: https://github.com/SocialSisterYi/bilibili-API-collect/issues/1361

4a61430
pskdje <77605497+pskdje@users.noreply.github.com>
提交于

代码差异

1 个文件 +280 -103
Modified docs/live/live_replay.md +280 -103
@@ -40,6 +40,7 @@
40 40 | pagination | obj | 分页信息 | |
41 41 | archive_flag | bool | (?) | 作用尚不明确 |
42 42 | can\_edit | num | (?) | 作用尚不明确 |
43 | can_upload | bool | (?) | 作用尚不明确 |
43 44
44 45 `data.replay_info` 数组中的对象:
45 46
@@ -486,7 +487,7 @@ curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/DeleteSliceDr
486 487
487 488 | 字段 | 类型 | 内容 | 备注 |
488 489 | --- | --- | --- | --- |
489 | code | num | 返回值 | -101:未登录<br />-111:csrf校验失败<br />0:成功<br />100:非法参数<br />210:回放id或场次key无效 |
490 | code | num | 返回值 | -101:未登录<br />-111:csrf校验失败<br />0:成功<br />100:非法参数<br />210:回放id或场次key无效<br />217:未找到直播录像 |
490 491 | message | str | 错误信息 | 成功时为`"0"` |
491 492 | ttl | num | `1` | |
492 493 | data | obj | 信息本体 | |
@@ -770,6 +771,7 @@ curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetAnchorVide
770 771 | 字段 | 类型 | 内容 | 备注 |
771 772 | --- | --- | --- | --- |
772 773 | list | arr | 直播回放视频列表 | 如果该场回放没有视频流将为`null` |
774 | ban_list | null | 不可发布的回放列表? | [需要验证] |
773 775
774 776 `data.list` 数组中的对象:
775 777
@@ -817,7 +819,8 @@ curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetSliceStrea
817 819 "stream": "https://bvc-live.bilivideo.com/hls-record-gateway/videoPlay?biz_id=live2vod-clip&end_time=1746879298&header_name=1746863105.m4s&host_id=edge-hls-bvc-self-cn-jsyz-ct-03-59-6d854b4bd8-gnlb7&no_end=0&schema=https&sign=70929627354f4380b54b97fcdb69c8a2&start_time=1746879269&stream_name=live_438160221_32373699&ts=1752930893&version=2",
818 820 "type": 2
819 821 }
820 ]
822 ],
823 "ban_list": null
821 824 }
822 825 }
823 826 ```
@@ -862,6 +865,7 @@ curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetSliceStrea
862 865 | max_value | num | (?) | 效果未知 |
863 866 | high_light_data | arr | 高光时刻数据 | |
864 867 | ass_url | str | ASS字幕链接 | 用作弹幕显示 |
868 | high_light_stat | obj | 高亮状态信息 | |
865 869
866 870 `data.session_data` 数组中的对象:
867 871
@@ -882,6 +886,15 @@ curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetSliceStrea
882 886 | cover | str | (?) | 目前为`""` |
883 887 | extra | str | (?) | 目前为`""` |
884 888
889 `data.high_light_stat` 对象:
890
891 | 字段 | 类型 | 内容 | 备注 |
892 | --- | --- | --- | --- |
893 | original_hl | num | “高光时刻”数量 | 有“高光时刻”时存在 |
894 | manual_hl | num | “已保存”数量 | 有“已保存”时存在,调用[手动保存高亮片段](#手动保存高亮片段)进行保存 |
895
896 注: 可能还存在一个“回溯录制”的字段。
897
885 898 **示例:**
886 899
887 900 获取场次key为`607113721045847859`的会话数据
@@ -902,144 +915,241 @@ curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetLiveSessio
902 915 "data": {
903 916 "session_data": [
904 917 {
905 "ts": 1746863100,
906 "value": 0
907 },
908 {
909 "ts": 1746863160,
910 "value": 0
911 },
912 {
913 "ts": 1746863220,
914 "value": 0
915 },
916 {
917 "ts": 1746863280,
918 "value": 0
919 },
920 {
921 "ts": 1746863340,
922 "value": 0
923 },
924 {
925 "ts": 1746863400,
926 "value": 0
927 },
928 {
929 "ts": 1746863460,
930 "value": 0
931 },
932 {
933 "ts": 1746863520,
934 "value": 0
935 },
936 {
937 "ts": 1746863580,
938 "value": 0
939 },
940 {
941 "ts": 1746863640,
942 "value": 0
943 },
944 {
945 "ts": 1746863700,
946 "value": 0
947 },
948 {
949 "ts": 1746863760,
950 "value": 0
951 },
952 {
953 "ts": 1746863820,
954 "value": 0
955 },
956 // 省略100多条数据
957 {
958 "ts": 1746878520,
959 "value": 0
960 },
961 {
962 "ts": 1746878580,
963 "value": 0
964 },
965 {
966 "ts": 1746878640,
967 "value": 0
968 },
969 {
970 "ts": 1746878700,
918 "ts": 1752927300,
971 919 "value": 0
972 920 },
973 921 {
974 "ts": 1746878760,
922 "ts": 1752927360,
975 923 "value": 0
976 924 },
977 925 {
978 "ts": 1746878820,
926 "ts": 1752927420,
979 927 "value": 0
980 928 },
929 // 省略掉大部分重复内容
981 930 {
982 "ts": 1746878880,
931 "ts": 1752946620,
983 932 "value": 0
984 933 },
985 934 {
986 "ts": 1746878940,
935 "ts": 1752946680,
987 936 "value": 0
988 937 },
989 938 {
990 "ts": 1746879000,
991 "value": 0
992 },
993 {
994 "ts": 1746879060,
995 "value": 0
996 },
997 {
998 "ts": 1746879120,
999 "value": 0
1000 },
1001 {
1002 "ts": 1746879180,
1003 "value": 0
1004 },
1005 {
1006 "ts": 1746879240,
939 "ts": 1752946740,
1007 940 "value": 0
1008 941 }
1009 942 ],
1010 "max_danmaku": 1746864660,
1011 "max_pcu": 1746864660,
943 "max_danmaku": 1752928860,
944 "max_pcu": 1752928200,
1012 945 "max_value": 0,
1013 946 "high_light_data": [
1014 947 {
1015 "id": 6226272,
948 "id": 9628113,
1016 949 "type": 1,
1017 "start_time": 1746873300,
1018 "end_time": 1746873480,
950 "start_time": 1752928860,
951 "end_time": 1752929040,
1019 952 "title": "弹幕高光 Top 1",
1020 953 "cover": "",
1021 954 "extra": ""
1022 955 },
1023 956 {
1024 "id": 6226274,
957 "id": 9628114,
1025 958 "type": 1,
1026 "start_time": 1746873120,
1027 "end_time": 1746873420,
959 "start_time": 1752938460,
960 "end_time": 1752938640,
1028 961 "title": "弹幕高光 Top 2",
1029 962 "cover": "",
1030 963 "extra": ""
1031 964 },
1032 965 {
1033 "id": 6226271,
966 "id": 9628115,
967 "type": 1,
968 "start_time": 1752938040,
969 "end_time": 1752938220,
970 "title": "弹幕高光 Top 3",
971 "cover": "",
972 "extra": ""
973 },
974 {
975 "id": 9628112,
1034 976 "type": 2,
1035 "start_time": 1746864600,
1036 "end_time": 1746864780,
977 "start_time": 1752928140,
978 "end_time": 1752928320,
1037 979 "title": "进房高光时刻",
1038 980 "cover": "",
1039 981 "extra": ""
1040 982 }
1041 983 ],
1042 "ass_url": "https://jssz-boss.hdslb.com/live2arc_anchor_video/dmass_1899237171_607113721045847859.ass?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=y4zI4XTQzlOkmSKg%2F20250520%2Fjssz%2Fs3%2Faws4_request&X-Amz-Date=20250520T130358Z&X-Amz-Expires=7200&X-Amz-SignedHeaders=host&X-Amz-Signature=5e3ddfbcb8893dc6e76deea7981165e18e5df9a7579f4e6e97c7a32abec53d84"
984 "ass_url": "https://jssz-boss.hdslb.com/live2arc_anchor_video/dmass_1899237171_625727121464233779.ass?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=y4zI4XTQzlOkmSKg%2F20250802%2Fjssz%2Fs3%2Faws4_request\u0026X-Amz-Date=20250802T072504Z\u0026X-Amz-Expires=7200\u0026X-Amz-SignedHeaders=host\u0026X-Amz-Signature=384b42382469059a1f4c6b04c7bd2290a0c74c01375df1681eedb3ba8aca5c3c",
985 "high_light_stat": {
986 "original_hl": 4,
987 "manual_hl": 6
988 }
989 }
990 }
991 ```
992
993 </details>
994
995 ## 获取用户高光列表
996
997 > https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/UserGetManualHighlightList
998
999 *请求方法: GET*
1000
1001 认证方式: Cookie (SESSDATA)
1002
1003 **url参数:**
1004
1005 | 参数名 | 类型 | 内容 | 必要性 | 备注 |
1006 | ----- | --- | ---- | ----- | --- |
1007 | live_key | str | 标记直播场次的key | 必要 | |
1008 | manual_type | num | 查询类型 | 必要 | 1:回溯录制<br />2:已保存片段 |
1009 | web_location | str | (?) | 非必要 | 作用尚不明确 |
1010
1011 **json回复:**
1012
1013 根对象:
1014
1015 | 字段 | 类型 | 内容 | 备注 |
1016 | --- | --- | --- | --- |
1017 | code | num | 返回值 | -400:请求错误<br />-101:未登录<br />0:成功 |
1018 | message | str | 错误信息 | 成功时为`"0"` |
1019 | ttl | num | `1` | |
1020 | data | obj | 信息本体 | |
1021
1022 `data` 对象:
1023
1024 | 字段 | 类型 | 内容 | 备注 |
1025 | --- | --- | --- | --- |
1026 | high_light_stat | obj | 高亮状态信息 | |
1027 | manual_highlight_list | arr | 高光列表 | 有内容时存在 |
1028
1029 `data.manual_highlight_list` 数组:
1030
1031 | 索引 | 类型 | 内容 | 备注 |
1032 | --- | --- | --- | --- |
1033 | 0 | obj | 第一条高光信息 | 最少存在1条,目前没有高光内容将看不到这个数组 |
1034 | … | obj | 某一条高光信息 | |
1035 | i | obj | 最后一条高光信息 | |
1036
1037 `data.manual_highlight_list` 数组中对象:
1038
1039 | 字段 | 类型 | 内容 | 备注 |
1040 | --- | --- | --- | --- |
1041 | manual_id | num | 片段id | |
1042 | highlight_title | str | 片段标题 | |
1043 | start_ts | num | 开始时间戳 | Unix 秒时间戳 |
1044 | end_ts | num | 结束时间戳 | Unix 秒时间戳 |
1045 | uid | num | 保存者uid? | |
1046 | ruid | num | 主播uid | |
1047 | live_key | str | 标记直播场次的key | |
1048
1049 `data.high_light_stat` 对象:
1050
1051 | 字段 | 类型 | 内容 | 备注 |
1052 | --- | --- | --- | --- |
1053 | original_hl | num | “高光时刻”数量 | 有“高光时刻”时存在 |
1054 | manual_hl | num | “已保存”数量 | 有“已保存”时存在,调用[手动保存高亮片段](#手动保存高亮片段)进行保存 |
1055
1056 注: 可能还存在一个“回溯录制”的字段。
1057
1058 **示例:**
1059
1060 获取用户保存列表
1061
1062 ```shell
1063 curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/UserGetManualHighlightList?live_key=625727121464233779&manual_type=2' \
1064 -b 'SESSDATA=xxx'
1065 ```
1066
1067 <details>
1068 <summary>查看响应示例:</summary>
1069
1070 只有高光时刻的示例:
1071
1072 ```json
1073 {
1074 "code": 0,
1075 "message": "0",
1076 "ttl": 1,
1077 "data": {
1078 "high_light_stat": {
1079 "original_hl": 4
1080 }
1081 }
1082 }
1083 ```
1084
1085 有保存片段的示例:
1086
1087 ```json
1088 {
1089 "code": 0,
1090 "message": "0",
1091 "ttl": 1,
1092 "data": {
1093 "manual_highlight_list": [
1094 {
1095 "manual_id": 14434,
1096 "highlight_title": "手动保存片段【6】",
1097 "start_ts": 1752935402,
1098 "end_ts": 1752935402,
1099 "uid": 438160221,
1100 "ruid": 438160221,
1101 "live_key": "625727121464233779"
1102 },
1103 {
1104 "manual_id": 14428,
1105 "highlight_title": "手动保存片段【5】",
1106 "start_ts": 1752935402,
1107 "end_ts": 1752935204,
1108 "uid": 438160221,
1109 "ruid": 438160221,
1110 "live_key": "625727121464233779"
1111 },
1112 {
1113 "manual_id": 14426,
1114 "highlight_title": "手动保存片段【4】",
1115 "start_ts": 1752935402,
1116 "end_ts": 1752935404,
1117 "uid": 438160221,
1118 "ruid": 438160221,
1119 "live_key": "625727121464233779"
1120 },
1121 {
1122 "manual_id": 14425,
1123 "highlight_title": "手动保存片段【3】",
1124 "start_ts": 1752935402,
1125 "end_ts": 1752935404,
1126 "uid": 438160221,
1127 "ruid": 438160221,
1128 "live_key": "625727121464233779"
1129 },
1130 {
1131 "manual_id": 14424,
1132 "highlight_title": "手动保存片段【2】",
1133 "start_ts": 1752927342,
1134 "end_ts": 1752935404,
1135 "uid": 438160221,
1136 "ruid": 438160221,
1137 "live_key": "625727121464233779"
1138 },
1139 {
1140 "manual_id": 14423,
1141 "highlight_title": "手动保存片段【1】",
1142 "start_ts": 1752927336,
1143 "end_ts": 1752946748,
1144 "uid": 438160221,
1145 "ruid": 438160221,
1146 "live_key": "625727121464233779"
1147 }
1148 ],
1149 "high_light_stat": {
1150 "original_hl": 4,
1151 "manual_hl": 6
1152 }
1043 1153 }
1044 1154 }
1045 1155 ```
@@ -1134,6 +1244,72 @@ curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetAnchorVide
1134 1244
1135 1245 </details>
1136 1246
1247 ## 手动保存高亮片段
1248
1249 > https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/UserManualSaveHighlight
1250
1251 *请求方法: POST*
1252
1253 认证方式: Cookie (SESSDATA)
1254
1255 鉴权方式: Cookie中`bili_jct`的值正确并与`csrf`相同
1256
1257 **正文参数( application/x-www-form-urlencoded ):**
1258
1259 | 参数名 | 类型 | 内容 | 必要性 | 备注 |
1260 | ----- | --- | ---- | ----- | --- |
1261 | live_key | str | 标记直播场次的key | 必要 | 必须为自己的live_key |
1262 | start_ts | num | 开始时间戳 | 必要 | Unix 秒时间戳 |
1263 | end_ts | num | 结束时间戳 | 必要 | Unix 秒时间戳 |
1264 | csrf | str | CSRF Token(位于cookie) | 必要 | |
1265
1266 注: 开始时间减结束时间的结果小于1可能导致[直播回放片段发布页面](#直播回放片段发布页面)无法处理这个片段。
1267
1268 **json回复:**
1269
1270 根对象:
1271
1272 | 字段 | 类型 | 内容 | 备注 |
1273 | --- | --- | --- | --- |
1274 | code | num | 返回值 | -400:请求错误<br />-111:csrf校验失败<br />-101:未登录<br />0:成功<br /> |
1275 | message | str | 错误信息 | |
1276 | ttl | num | `1` | |
1277 | data | obj | 信息本体 | 成功时为空对象 |
1278
1279 `data` 对象:
1280
1281 | 字段 | 类型 | 内容 | 备注 |
1282 | --- | --- | --- | --- |
1283 | code | num | `-1` | |
1284 | message | str | 错误提示 | `主播没有对应场次` , `保存时间点未开播` |
1285
1286 **示例:**
1287
1288 手动保存一个片段
1289
1290 ```shell
1291 curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/UserManualSaveHighlight' \
1292 --data-urlencode 'live_key=625727121464233779' \
1293 --data-urlencode 'start_ts=1752935402' \
1294 --data-urlencode 'end_ts=1752935404' \
1295 --data-urlencode 'csrf=xxx' \
1296 -b 'SESSDATA=xxx;bili_jct=xxx'
1297 ```
1298
1299 <details>
1300 <summary>查看响应示例:</summary>
1301
1302 ```json
1303 {
1304 "code": 0,
1305 "message": "0",
1306 "ttl": 1,
1307 "data": {}
1308 }
1309 ```
1310
1311 </details>
1312
1137 1313 ## 投稿直播回放片段
1138 1314
1139 1315 > https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/AnchorPublishVideoSlice
@@ -1156,7 +1332,8 @@ curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetAnchorVide
1156 1332 | av_highlight | num | 高光绑定? | 非必要 | |
1157 1333 | with_subtitle | num | 是否自动生成字幕? | 非必要 | 效果不明确 |
1158 1334 | with_danmaku | num | 是否带弹幕? | 非必要 | 传递`1`时可能导致处于“发布中”状态时不在[获取已发布片段的信息](#获取已发布片段的信息)中显示 |
1159 | with_reserve | num | (?) | 非必要 | 作用尚不明确 |
1335 | with_reserve | num | 投稿携带下场直播提醒 | 非必要 | 0:不携带,1:携带 |
1336 | av_speed | str | 倍速投稿 | 非必要 | 格式为 `倍速值 + "x"` ,使用非1x倍速时可能导致处于“发布中”状态时不在[获取已发布片段的信息](#获取已发布片段的信息)中显示<br />允许值: `0.5x` , `0.75x` , `1.0x` , `1.25x` , `1.5x` , `2.0x` |
1160 1337 | csrf | str | CSRF Token(位于cookie) | 必要 | |
1161 1338
1162 1339 **json回复:**
@@ -1165,7 +1342,7 @@ curl 'https://api.live.bilibili.com/xlive/app-blink/v1/anchorVideo/GetAnchorVide
1165 1342
1166 1343 | 字段 | 类型 | 内容 | 备注 |
1167 1344 | --- | --- | --- | --- |
1168 | code | num | 返回值 | -111:csrf校验失败<br />-101:未登录<br />0:成功<br />4000:时长过长<br />4001:操作太快<br />4002:片段已投稿<br />4003:请选择精彩片段再投稿哦<br />4006:标题已使用 |
1345 | code | num | 返回值 | -111:csrf校验失败<br />-101:未登录<br />0:成功<br />4000:时长过长<br />4001:操作太快<br />4002:片段已投稿<br />4003:请选择精彩片段再投稿哦<br />4006:标题已使用<br />4008:不被允许的视频倍速 |
1169 1346 | message | str | 错误信息 | |
1170 1347 | ttl | num | `1` | |
1171 1348 | data | obj | 信息本体 | 成功时有效 |