fiddler抓包手機視頻並通過FFmpeg下載,同時記錄一下自己走的彎路


Ffmpeg下載命令,ffmpeg -protocol_whitelist "file,http,https,rtp,udp,tcp,tls" -i D:\test\2.m3u8 -c copy tests.mp4



1、有時候在觀看手機短視頻,看到比較好的視頻,但是作者沒有提供下載,就感覺可惜!因此就想到了獲取視頻的真實地址來下載。


2、之前下載過fiddler軟件,卻一直放着沒來得及使用,因此在b站找了個視頻看了一下大概的使用方法。視頻地址


3、第一步,配置fiddler使其可以抓取HTTPS協議請求;
圖一


4、第二步,配置fiddler連接到手機。
1.
2. 證書安裝:使手機和電腦連接同一WiFi或者處於同一局域網內,鼠標懸停在Fiddler右上角的在線可以看到當前電腦的ip地址,手機打開瀏覽器訪問電腦ip地址加上默認端口8888,可以下載到憑證,通過手機的證書安裝器進行安裝。 如果手機無法訪問的話,可以看到第一步圖片中有個操作按鈕,點擊“操作”按鈕選擇“將根證書導出到桌面”,然后把證書發送到手機進行安裝。
3. 代理設置:安裝完成后,找到手機的WiFi設置,設置WiFi代理,端口號為默認的8888,地址為電腦ip地址,保存即可。此時,手機打開視頻APP,可以發現fiddler上已經已經有很多數據發現了。
4. 手機抓包:找到自己需要的視頻地址,這里面就得靠自己的操作了。


5、我得到一個.m3u8的文件,花費了好幾個小時寫python代碼。主要邏輯就是:1.遍歷給定的目錄獲取所有以.m3u8后綴結尾的文件名稱保存到列表;2.打開一個.m3u8文件,使用正則表達式提取出所有的.ts視頻鏈接,這里我得到的鏈接是沒有加密,如果有加密得另外處理。通過python多線程下載得到所有的以.ts為后綴的視頻,並保存到新目錄;3.合並.ts文件,繼續下一個文件的處理。這里我本來是要通過調用window的批處理命令實現合並,但是我想到了之前搞的時候發現的問題,合並完成的.mp4文件時間是錯誤的,無法通過時間條快進或后退。在搜索解決這個問題的時候,我看到了處理視頻的利器Ffmpeg,經過一番查找搜索后發現,使用Ffmpeg就直接可以完成.m3u8文件的下載了,不需要浪費一堆時間去自己編寫代碼下載。


6、 自己搜索下載FFmpeg,並將其bin目錄添加到系統環境變量,就可以使用了。Ffmpeg下載名,ffmpeg -protocol_whitelist "file,http,https,rtp,udp,tcp,tls" -i D:\test\2.m3u8 -c copy tests.mp4,i參數后面是.m3u8文件的完整地址,這里應該可以使用相對路徑,tests.mp4是合並后的文件名。


7、 完了!


免責聲明!

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



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