直播回放視頻不允許下載
抓包方法
播放之前打開 fiddler 抓包,找到 m3u8請求
右鍵復制url:
既然是m3u8文件,只要用 m3u8 下載工具就可以。
名詞解釋:
①VLC:一種開源的跨平台多媒體播放器及框架
②.ts:ts是日本高清攝像機拍攝下進行的封裝格式,全稱為MPEG2-TS。MPEG2-TS格式的特點就是要求從視頻流的任一片段開始都是可以獨立解碼的。
③.m3u8:m3u8是蘋果公司推出的視頻播放標准,是m3u的一種,編碼格式采用的是UTF-8。m3u8准確來說是一種索引文件,使用m3u8文件實際上是通過它來解析對應的放在服務器上的視頻網絡地址,從而實現在線播放。使用m3u8格式文件主要因為可以實現多碼率視頻的適配,視頻網站可以根據用戶的網絡帶寬情況,自動為客戶端匹配一個合適的碼率文件進行播放,從而保證視頻的流暢度。
④m3u8和ts視頻的通俗解釋:m3u8是一種網頁視頻的播放格式,這種格式視頻都是以片段的形式存儲在服務器中,一般的播放器是無法打開的,我們只能通過網絡串流的鏈接在相應的播放器中打開。即使用360、IE或QQ等瀏覽器的擴展程序進行下載,該視頻文件也只是m3u8格式,依舊無法用本地盤的播放器進行觀看;網上也有將下載的m3u8文件用記事本打開,又或者直接用瀏覽器的擴展程序貓爪對視頻進行抓取下載,但無論是用記事本打開還是用貓爪下載,都會顯示多個以ts為后綴的地址或文件。這些ts文件都是幾秒的小片段,每個文件還都可以單獨播放,所以就有了網上“合成拼接”的辦法,但問題是,這些ts文件的排序都是毫無特征的,拼接后畫面順序完全亂七八糟,且“合成拼接”的辦法太復雜。
1、問題
有時需要將網上的視頻下載到本地長期保存或編輯處理,但很多視頻是以加密方式提供的,它們的鏈接往往是blob:https打頭。blob:https並不是一種新協議,而是html5中blob對象在賦給video標簽后生成的一串標記。blob對象指向的視頻資源數據,通過Ajax獲取,然后瀏覽器內部解析。這些視頻被切分成很多小段,每段是一個.ts文件,以一個m3u8文件描述對它們進行索引和描述。直接下載.m3u8或.ts文件均無法得到可以正常播放的完整視頻。因此,嘗試需求第三方軟件下載或轉換這類視頻文件。
2、方法
通過一段時間的摸索,學會了一種借助VLC播放器下載ts視頻的方法。VLC播放器(VLC media player),“VLC 是一款自由、開源的跨平台多媒體播放器及框架,可播放大多數多媒體文件,以及 DVD、音頻 CD、VCD 及各類流媒體協議。”它由非盈利組織VideoLAN 開發。采用VLC下載.ts視頻十分方便,僅需兩步:
1)獲取視頻的.m3u8文件的url。瀏覽器中播放需要下載的視頻,在瀏覽器的后台窗口“Network”頁面監視XHR資源,找到視頻對應的.m3u8文件的url。
瀏覽中尋找.m3u8文件url
下載方法 一:
在VLC播放器中打開該資源,並導出需要的視頻格式。運行VLC播放器,【媒體】->【打開網絡串流】對話框,在其中地址欄填入瀏覽中獲取的.m3u8文件url,然后執行【轉換】功能。在下一個對話框中設置轉換參數,最后點擊【開始按鈕】即可。
下載方法 二:
https://github.com/nilaoda/N_m3u8DL-CLI
填入url即可
參考鏈接:
https://zhuanlan.zhihu.com/p/113258324
github 搜索 釘釘直播