[文件分析]bilibili缓存文件夹文件目录分析
文件类型
-
1080P视频内容:m4s项目
(media-type)类型编码:2
m4s项目是bilibili存储的一些清晰度较高或较大较长的视频文件
可以使用ffmpeg进行连接,也可以使用我开发的GUI版本(https://github.com/Holit/ffmpegLinker) -
其他内容:blv项目
(media-type)类型编码:1
blv其实就是bilibili更改的FLV文件,你可以使用ffmpeg转换,也可以直接该拓展名为flv
另外序列视频文件如0.blv,1.blv,2.blv
等表示了序列的顺序,你可以按照0,1,2,3,4
的顺序合并这些flv文件
参见:https://www.littleqiu.net/archives/886
文件目录详解
-
Android文件缓存位置:
\Android\data\tv.danmaku.bili\download\...
文件目录:\download\s_{id}\{ep_id}\清晰度信息\文件列表[0~N].blv #播放文件 index.json #数据文件 entry.json #入口文件(见下) danmuku.xml #弹幕文件
以
\download\s_357\249469\lua.flv480.bb2api.32\0.blv (猫和老鼠(旧版)第一部第一集,播放地址:https://www.bilibili.com/bangumi/play/ep249469)
为例
{id}, s_剧集id
:剧集的id定位位置,即https://www.bilibili.com/bangumi/play/ss{id}{ep_id}, 分P号
:表示了这个文件来自于剧集id的视频号,即https://www.bilibili.com/bangumi/play/ep{ep_id}- 清晰度信息:
- 一般以
lua.{type}.{api}
开头type
:包含了视频类型和清晰度,如flv/flv480
api
:暂不清楚
- 一般以
- 文件列表
- 一般是
blv
文件 - 按照
0.blv,1.blv
等排序,表示了视频的顺序
- 一般是
-
缓存单文件
\download\av号\1\清晰度信息\vedio.m4s #m4s文件 audio.m4s index.json #数据文件 entry.json #入口文件
文件结构
-
index.json(对应m4s)
原视频:https://www.bilibili.com/video/av80959848{"video":#视频内容消息 [ { "id":112, "base_url":"https:\/\/upos-hz-mirrorks3u.acgvideo.com\/upgcxcode\/07\/48\/138564807\/138564807-1-30112.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_&uipk=5&nbs=1&deadline=1579364249&gen=playurl&os=ks3u&oi=3084983280&trid=dbd1c5a062ca4e59b6019c5a15522f4du&platform=android&upsig=5ec2887544562b37b28841b7e0bab9ba&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=68089222",#原视频获取地址,注意:直接访问会导致 403 Forbidden错误 "backup_url": [ "https:\/\/upos-sz-mirrorks3.bilivideo.com\/upgcxcode\/07\/48\/138564807\/138564807-1-30112.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_&uipk=5&nbs=1&deadline=1579364249&gen=playurl&os=ks3bv&oi=3084983280&trid=dbd1c5a062ca4e59b6019c5a15522f4du&platform=android&upsig=d2c5d34dcf612c4a00d6863a4036bf10&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=68089222"#备存的视频地址 ], "bandwidth":5973795,#带宽 "codecid":7, "size":145760613,#大小,单位为字节 "md5":"58cbd8bc70f10f5ec708dfc06e37a83e"#MD5校验 } ], "audio":#音频内容消息 [ { "id":30280, "base_url":"https:\/\/upos-sz-mirrorhw.bilivideo.com\/upgcxcode\/07\/48\/138564807\/138564807_nb2-1-30280.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_&uipk=5&nbs=1&deadline=1579364249&gen=playurl&os=hwbv&oi=3084983280&trid=dbd1c5a062ca4e59b6019c5a15522f4du&platform=android&upsig=d787321f450cdbfa94d8e57da87c9412&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=68089222", "backup_url": [ "https:\/\/upos-sz-mirrorks3.bilivideo.com\/upgcxcode\/07\/48\/138564807\/138564807_nb2-1-30280.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEuENvNC8aNEVEtEvE9IMvXBvE2ENvNCImNEVEIj0Y2J_aug859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859IB_&uipk=5&nbs=1&deadline=1579364249&gen=playurl&os=ks3bv&oi=3084983280&trid=dbd1c5a062ca4e59b6019c5a15522f4du&platform=android&upsig=bf39193d876386e91d0ac1e7828204ea&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=68089222" ], "bandwidth":319160, "codecid":0, "size":7790910, "md5":"902911e36938be7a4fedc7b705fade34" } ] }
-
entry.json
原视频:https://www.bilibili.com/video/av80959848{ "media_type":2,#媒体类型"has_dash_audio":true, "is_completed":true,#下载结束 "total_bytes":153551523#总大小 "downloaded_bytes":153551523,#下载大小 "title":"【韩小沐×妈咪叔×中二所】某不科学の超抖肩舞【COINCIDANCE】【正负电子の奇妙冒险】",#标题 "type_tag":"112", "cover":"http:\/\/i1.hdslb.com\/bfs\/archive\/381050f060f9a7c2c57e273ecf8e3758148cbc27.jpg","prefered_video_quality":112,#封面 "guessed_total_bytes":0, "total_time_milli":195325,#视频长度,以ms(毫秒)为单位 "danmaku_count":909,#弹幕条数 "time_update_stamp":1579357099610,#更新时间戳 "time_create_stamp":1579357043896,#创建时间戳 "avid":80959848,#av号 "spid":0, "seasion_id":0, "page_data":#页数据(分P) { "cid":138564807, "page":1, "from":"vupload", "part":"【韩小沐×妈咪叔×中二所】某不科学の超抖肩舞【COINCIDANCE】【正负电子の奇妙冒险】", "vid":"", "has_alias":false, "tid":124, "width":1920,#宽度 "height":1080,#高度 "rotate":0,#旋转 "download_title":"视频已缓存完成", "download_subtitle":"【韩小沐×妈咪叔×中二所】某不科学の超抖肩舞【COINCIDANCE】【正负电子の奇妙冒险】 【韩小沐×妈咪叔×中二所】某不科学の超抖肩舞【COINCIDANCE】【正负电子の奇妙冒险】" } }
-
danmuku.xml
原视频:https://www.bilibili.com/video/av80959848<?xml version="1.0" encoding="UTF-8"?> <i> <chatserver>chat.bilibili.com</chatserver> <chatid>138564807</chatid> <mission>0</mission> <maxlimit>1000</maxlimit> <state>0</state> <real_name>0</real_name> <source>k-v</source> <d p="15.90500,1,25,16777215,1577530864,0,43259dda,26418185093775364">前方高能</d> </i>
格式解析:
-
标准头,其中包含了xml的基础信息
-
<i></i>
代表了第一列表<?xml version="1.0" encoding="UTF-8"?> <i></i> <chatserver>chat.bilibili.com</chatserver> <chatid>138564807</chatid> <mission>0</mission> <maxlimit>1000</maxlimit> <state>0</state> <real_name>0</real_name> <source>k-v</source> <d p="15.90500,1,25,16777215,1577530864,0,43259dda,26418185093775364">前方高能</d>
-
chatsever
弹幕库服务器地址 -
chatid
弹幕内容ID -
maxlimit
弹幕最大数量,默认为1000 -
<d></d>
<d p="15.90500,1,25,16777215,1577530864,0,43259dda,26418185093775364">前方高能</d>*
-
15.90500
弹幕出现的时间,单位为秒,精确度为小数点后5位,即0.01ms
-
1
弹幕的模式1~3
滚动弹幕4
底端弹幕5
顶端弹幕6
逆向弹幕7
精准定位8
高级弹幕
-
25
字号12
非常小,16
特小,18
小,25
中,36
大,45
很大,64
特别大
-
16777215
字体的颜色,以HTML颜色的十进制数为准 -
1577530864
Unix格式的时间戳。基准时间为1970-1-1 08:00:00
-
0
弹幕池0
普通池1
字幕池2
特殊池 目前特殊池为高级弹幕专用
-
43259dda
发送者的ID,用于“屏蔽此弹幕的发送者”功能 -
26418185093775364
弹幕在弹幕数据库中rowID
,用于“历史弹幕”功能。 -
前方高能
弹幕的内容
该解析待补全
作者发布、转载的任何文章中所涉及的技术、思路、工具仅供以安全目的的学习交流,并严格遵守《中华人民共和国网络安全法》、《中华人民共和国数据安全法》等网络安全法律法规。
任何人不得将技术用于非法用途、盈利用途。否则作者不对未许可的用途承担任何后果。
本文遵守CC BY-NC-SA 3.0协议,您可以在任何媒介以任何形式复制、发行本作品,或者修改、转换或以本作品为基础进行创作
您必须给出适当的署名,提供指向本文的链接,同时标明是否(对原文)作了修改。您可以用任何合理的方式来署名,但是不得以任何方式暗示作者为您或您的使用背书。
同时,本文不得用于商业目的。混合、转换、基于本作品进行创作,必须基于同一协议(CC BY-NC-SA 3.0)分发。
如有问题, 可发送邮件咨询.