廢話不多說啦,直接上教程。
預先准備
1.您需要在電腦上安裝和配置Fiddler。
官網:https://www.telerik.com/fiddler
2.您需要設置瀏覽器的代理,確保Fiddler可以抓到進出瀏覽器的數據包。
具體步驟
1.Fiddler,啟動!
2.BiliBili,啟動!
去Fiddler清一下屏幕,快捷鍵是Ctrl+x。
然后去B站播放您想要保存下載的視頻。

2.回頭看看Fiddler監控到的數據包
在這里簡單介紹下BiliBili的視頻是怎么回事,B站把不僅把視頻和音頻分開放,還把它們拆成一截一截的了,下載的時候也只能一截一截的下。
意思就是,一個數據包可能是一截視頻,也有可能是一截音頻。我們的目的,是下載所有的視頻,下載所有的音頻,再將視頻和音頻合並起來。
先看一眼數據包,長這樣——

不同的圖標表示不同的數據類型,有沒有覺得藍白色的圖標特別符合眼緣?它就是我們要找的視頻或者音頻文件。
現在找到來自B站的第一個藍白色圖標的數據包,然后看右邊——

按照橙紅色的矩形框依次選擇Inspectors、Headers、Headers來查看數據包。
接着來看綠色的矩形框,里面的Content-Range是一項很關鍵的數據,其中995-1062表示這個數據包所包含的那一截視頻內容,而完整的視頻內容為1127942。所以我們要獲取0-1127942的數據。
以上是視頻的數據包。
音頻的數據包,我們往下面找一找,找到藍白色圖標下面的其他藍白色圖標,點一下它,再把目光轉向右邊,依次選擇上圖橙紅色矩形框里面的內容,然后查看Content-Range。

可以看到Content-Range寫的是933-1000,表示數據包的內容是933-1000,而完整的內容是111618,和上面的1127942是不同的。遂認定這個111618是完整的音頻數據,而1127942是完整的視頻數據。
一般來說大的那個就是視頻。
好了,下一步是:保存視頻和音頻的完整內容,也就是下載第一個數據包的0-1127942作為完整的視頻內容,下載第二個數據包的0-111618作為完整的音頻內容。
於是就需要用到Composer。
利用Composer下載完整內容
1.選中第一個數據包。

2.看右邊上方,點一下Composer。

畫面變成了這樣——

(橙紅色的框是我標的)
2.鼠標左鍵第一個數據包,把它拖到右邊橙紅色的矩形框里,然后內容一下子就出現了——

3.看到最后一行,Range:byte=995-1062,這表示向服務器請求下載995-1062的內容,但我們需要完整的0-1127942,於是將它改為0-1127942。

4.點一下右上角藍色矩形框的Execute。
保存下載好的數據包
1.回到左邊,下拉到最后,會看到一個嶄新的藍白色圖標。
(如果是一個綠色的下載箭頭,表示它還沒有下載完畢,還正在向服務器請求下載)。

2.選中它,鼠標右鍵,Save→Response→Response Body

它默認的是后綴是.m4s.txt,我們保存為.m4s格式。
到這里,第一個數據包(視頻文件)就處理結束了。
接下來,我們用同樣的方式處理第二個數據包(音頻文件),得到一個名為audio.m4s的文件。
於是就擁有了完整的m4s格式的音頻和視頻。

合並視頻與音頻
這兩個m4s文件是很難直接打開的,我們需要借助ffmpeg工具將它們倆合並,這里我就另開一貼,專門介紹如何將m4s文件合並為mp4格式的視頻文件。
謝謝您的瀏覽,90度鞠躬!
