bilibili缓存文件夹文件目录分析

一、文件类型

  1. 1080P视频内容:m4s项目

    (media-type)类型编码:2

    m4s项目是bilibili存储的一些清晰度较高或较大较长的视频文件

    你可以使用ffmpeg进行连接,也可以使用我开发的GUI版本(https://github.com/Holit/ffmpegLinker)

  2. 其他内容: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文件缓存位置:data\tv.danmaku.bili\download\...
  1.系列文件

    \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等排序,表示了视频的顺序

  2.缓存单文件
      \download\av号\1\清晰度信息\vedio.m4s        #m4s文件
                      audio.m4s      
                      index.json        #数据文件
                entry.json              #入口文件


三、文件结构
1.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" } ] }

2.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】【正负电子の奇妙冒险】"
        }
}

3.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:弹幕内容连接的
  • 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 ,用于“历史弹幕”功能。
    •     前方高能    弹幕的内容

四、该解析待补全

猜你喜欢

转载自www.cnblogs.com/holittech/p/12210691.html