ffmpeg網(wǎng)頁(yè)視頻流m3u8 ts實(shí)現(xiàn)視頻下載
引言
現(xiàn)在很多視頻網(wǎng)站播放流視頻,都不是采用mp4/flv文件直接播放,而是采用m3u8/ts
這種方式播放。
簡(jiǎn)單說(shuō)就是,網(wǎng)站后臺(tái)把視頻切片成成百上千個(gè)xx.ts
文件,一般10秒一個(gè),每個(gè)都幾百kb很小。然后通過(guò)xx.m3u8
播放列表把這些文件連接起來(lái)。
通過(guò)Chrome DevTool的Network欄,我們可以清楚的看到加載過(guò)程:
我們直接點(diǎn)擊這個(gè)playlist.m3u8
播放列表文件,在旁邊的preview
欄中查看內(nèi)容,可以看到:
#EXTM3U #EXT-X-VERSION:3 #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-ALLOW-CACHE:YES #EXT-X-TARGETDURATION:11 #EXTINF:5.250000, out000.ts #EXTINF:9.500000, out001.ts #EXTINF:8.375000, out002.ts #EXTINF:5.375000, out003.ts #EXTINF:9.000000, out004.ts ...........
那我們?cè)趺聪螺d呢?
下載視頻所有的ts切片文件
一般的思路是,想辦法把所有的ts切片文件下載下來(lái),然后合成一個(gè)完整的視頻。
然而,配合xx.m3u8
播放列表文件,我們可以直接用ffmpeg
在線下載播放列表中所有的視頻,然后直接用ffmpeg合并為一個(gè)視頻。
我們就直接執(zhí)行這一句命令即可:
$ ffmpeg -i <m3u8-path> -c copy OUTPUT.mp4 $ ffmpeg -i <m3u8-path> -vcodec copy -acodec copy OUTPUT.mp4 # 例如: ffmpeg -i https://v6.438vip.com/2018/10/17/3JAHPTdvPhQb9LrE/playlist.m3u8 -c copy OUTPUT.mp4
然后就會(huì)看到這樣的下載過(guò)程:
為什么下載播放列表就能下載所有的切片文件?
因?yàn)椴シ帕斜砝锏亩际窍鄬?duì)路徑,既然我們有了播放列表的絕對(duì)路徑,那么其它所有文件的絕對(duì)路徑也就不難獲取了。
好在ffmpeg直接實(shí)現(xiàn)了這種播放列表一鍵下載的方式。
以上就是ffmpeg網(wǎng)頁(yè)視頻流m3u8 ts實(shí)現(xiàn)視頻下載的詳細(xì)內(nèi)容,更多關(guān)于ffmpeg網(wǎng)頁(yè)視頻流m3u8 ts下載的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
從web到內(nèi)網(wǎng)滲透的一次過(guò)程詳解
本文非常詳細(xì)的描述了一次從web到內(nèi)網(wǎng)滲透的一次過(guò)程,并對(duì)每一步過(guò)程做了詳細(xì)的圖文示例及解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-09-09老生常談Session和Cookie之間區(qū)別與聯(lián)系(必看篇)
下面小編就為大家分享一篇老生常談Session和Cookie之間區(qū)別與聯(lián)系,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-11-11詳解秒殺系統(tǒng)設(shè)計(jì)的5個(gè)要點(diǎn)
這篇文章主要為大家介紹了秒殺系統(tǒng)設(shè)計(jì)的5個(gè)要點(diǎn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01網(wǎng)站開(kāi)發(fā)中的文件存儲(chǔ)目錄結(jié)構(gòu)的探討
網(wǎng)站應(yīng)用中經(jīng)常會(huì)有文件存儲(chǔ)的需求,目錄結(jié)構(gòu)該怎么建才好呢?讓我們來(lái)做下分析2010-07-07301重定向代碼合集(iis,asp,php,asp.net,apache)
腳本之家將SEO工作中所需要的301轉(zhuǎn)向代碼進(jìn)行了整理,收藏并分享,以備查閱。2011-02-02