溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ffmpeg網頁視頻流m3u8?ts怎么實現視頻下載

發布時間:2022-07-13 14:12:06 來源:億速云 閱讀:419 作者:iii 欄目:開發技術

這篇“ffmpeg網頁視頻流m3u8 ts怎么實現視頻下載”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“ffmpeg網頁視頻流m3u8 ts怎么實現視頻下載”文章吧。

引言

現在很多視頻網站播放流視頻,都不是采用mp4/flv文件直接播放,而是采用m3u8/ts這種方式播放。

簡單說就是,網站后臺把視頻切片成成百上千個xx.ts文件,一般10秒一個,每個都幾百kb很小。然后通過xx.m3u8播放列表把這些文件連接起來。

通過Chrome DevTool的Network欄,我們可以清楚的看到加載過程:

ffmpeg網頁視頻流m3u8?ts怎么實現視頻下載

我們直接點擊這個playlist.m3u8播放列表文件,在旁邊的preview欄中查看內容,可以看到:

#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
...........

那我們怎么下載呢?

下載視頻所有的ts切片文件

一般的思路是,想辦法把所有的ts切片文件下載下來,然后合成一個完整的視頻。
然而,配合xx.m3u8播放列表文件,我們可以直接用ffmpeg在線下載播放列表中所有的視頻,然后直接用ffmpeg合并為一個視頻。

我們就直接執行這一句命令即可:

$ 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

然后就會看到這樣的下載過程:

ffmpeg網頁視頻流m3u8?ts怎么實現視頻下載

為什么下載播放列表就能下載所有的切片文件?

因為播放列表里的都是相對路徑,既然我們有了播放列表的絕對路徑,那么其它所有文件的絕對路徑也就不難獲取了。

好在ffmpeg直接實現了這種播放列表一鍵下載的方式。

以上就是關于“ffmpeg網頁視頻流m3u8 ts怎么實現視頻下載”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女