[文件分析]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

文件目錄詳解

  1. 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等排序,表示了視頻的順序
  1. 緩存單文件

    \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彈幕內容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顏色的十進制數為准

  • 1577530864Unix格式的時間戳。基准時間為 1970-1-1 08:00:00

  • 0 彈幕池

    • 0普通池
    • 1字幕池
    • 2特殊池 目前特殊池為高級彈幕專用
  • 43259dda 發送者的ID,用於“屏蔽此彈幕的發送者”功能

  • 26418185093775364 彈幕在彈幕數據庫中rowID ,用於“歷史彈幕”功能。

  • 前方高能 彈幕的內容

該解析待補全


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM