日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
論如何下載一個(gè)在線的m3u8文件到本地成為一個(gè)mp4!

一、前言

現(xiàn)在比較常見(jiàn)的視頻流媒體,大部分都是 m3u8 格式的,而對(duì)于 m3u8 格式的視頻而言,如果你下載過(guò),你會(huì)發(fā)現(xiàn)它就是一個(gè)文本文件,大概也就只有幾十 kb,從磁盤(pán)大小來(lái)看,應(yīng)該也知道它并不是一個(gè)直接的視頻文件。

而假如我們想要下載對(duì)應(yīng)的視頻文件,直接下載 m3u8,當(dāng)然是達(dá)不到目的的,那么本文就來(lái)說(shuō)說(shuō),如何直接下載一個(gè)網(wǎng)上的 m3u8 文件,保存成一個(gè)比較常規(guī)的 mp4 文件。

這個(gè)在 Windows 下,應(yīng)該是有現(xiàn)成的工具可以完成,但是 Mac 就沒(méi)有了,我也沒(méi)試過(guò) Windows 的工具,有需要自行搜索。

二、下載一個(gè) m3u8

2.1 什么是 m3u8

說(shuō)到 m3u8 就要先說(shuō)說(shuō) HLS(HTTP Live Streaming)。HLS 是 Apple 公司針對(duì) iPhone、iPod、iTouch 等移動(dòng)設(shè)備,而研發(fā)的基于 HTTP 協(xié)議的流媒體解決方案。在 HLS 技術(shù)中,Web 服務(wù)器可以向客戶端提供接近實(shí)時(shí)的音視頻流,但是它又是使用的標(biāo)準(zhǔn)的 HTTP 協(xié)議。所以基本上,比較大型的點(diǎn)播直播類服務(wù),都是基于 HLS 的。

而該技術(shù)的原理,就是將視頻文件或者視頻流,進(jìn)行切片(ts文件),并建立索引文件(m3u8),它支持的視頻流編碼為 H.264,音頻流編碼為 AAC。

簡(jiǎn)單來(lái)說(shuō),基于 HLS 的視頻流,會(huì)將完整的視頻,切割成一個(gè)個(gè)比較小的視頻片段(ts 文件),然后根據(jù)協(xié)議組合成一個(gè) m3u8 文件。這些比較小的 ts 文件,是可以單獨(dú)播放的。而視頻播放器,拿到 m3u8 文件之后,根據(jù)對(duì)其內(nèi) ts 片段的索引,連續(xù)播放不同的視頻片段,來(lái)達(dá)到流暢的播放效果。

2.2 下載的 m3u8 文件

說(shuō)這些概念都沒(méi)用,我們來(lái)看兩個(gè)真實(shí)的被下載的 m3u8 文件。

這種 m3u8 文件就還是比較清晰的,能看到它一個(gè)個(gè)的片段。但是需要注意的是,這里的片段,全部是基于域名的相對(duì)地址,也就是說(shuō),這樣一個(gè) m3u8 文件,你丟到播放器里,是無(wú)法播放的,但是如果你記錄了原始下載這個(gè) m3u8 的鏈接,它在播放器里是可以正常播放的。

當(dāng)然,如果你修改這個(gè) m3u8 文件,將它相對(duì)路徑拼接上域名地址,也是可以達(dá)到播放的效果的。

再來(lái)看看另外一種 m3u8 文件,它其內(nèi)的 ts 片段,都是完整地址。

像這種具有完整地址的 ts 片段,哪怕你將它保存成一個(gè)本地的文件,播放器依然是可以直接播放的,不過(guò)這里本質(zhì)上依然是在在線播放。

這兩中 m3u8 文件,雖然有細(xì)微的差別,但是它們都是基于標(biāo)準(zhǔn)的協(xié)議。

簡(jiǎn)單總結(jié)一下:

  1. m3u8 不是視頻內(nèi)容的文件,它占用的磁盤(pán)空間非常的小。
  2. m3u8 文件,如果其內(nèi)的 ts 片段,是完整地址,則可以保存后播放,否者只能在線播放。
  3. 播放器播放 m3u8 文件的時(shí)候,實(shí)際上,還是在線從線上獲取的視頻流進(jìn)行播放,所以是存在失效的情況的。

暫時(shí)知道這三點(diǎn)就可以了,接下來(lái)我們?cè)倏慈绾螌⒁粋€(gè) m3u8 文件,下載成一個(gè) mp4 視頻文件。

三、ffmpeg

好了,不賣關(guān)子了,這里下載 m3u8 會(huì)需要使用 ffmpeg。

ffmpeg 是一套可以用來(lái)記錄、轉(zhuǎn)換音視頻,并將其轉(zhuǎn)化為流的開(kāi)源程序,采用 LGPL 或 GPL 協(xié)議許可證書(shū),很多大型的音視頻軟件,內(nèi)部都是基于 ffmpeg 的。不了解不要緊,總之知道它對(duì)操作 ffmpeg 非常的方便。

如果本機(jī)上沒(méi)有,就需要安裝了。在 Mac 下,使用 homebrew 下載 ffmpeg 非常的方便。

 
 
 
 
  1. brew install ffmpeg 

等待安裝成功的提示就好了。

如果已經(jīng)安裝的,***也使用 brew 命令確認(rèn)一下,有以下輸出,表示沒(méi)問(wèn)題。

工具配置沒(méi)什么好說(shuō)的,沒(méi)安裝的可以借助搜索引擎。

配置好 ffmpeg 的環(huán)境之后,只需要一行命令,就可以自動(dòng)下載一個(gè)遠(yuǎn)端的 m3u8 文件,并且以一個(gè) mp4 格式保存。

 
 
 
 
  1. ffmpeg -i "m3u8_file_uri" "save_video.mp4" 

到此,如果 m3u8 的鏈接正確可播放,就會(huì)開(kāi)始下載,等待下載完成就可以了,最終會(huì)在指定目錄下,保存 save_video.mp4 文件,它就是最終我們下載的離線視頻文件。

四、you-get

大部分情況下,我們沒(méi)辦法直接獲取到 m3u8 的鏈接,一般通過(guò)瀏覽器的調(diào)試工具,或者抓包的方式來(lái)獲取。

而如果我們只是需要下載一些常見(jiàn)的視頻網(wǎng)站的視頻的話,Github 上,還有一個(gè)開(kāi)源庫(kù),soimort/you-get ,就可以解決你的需求。

它只需要傳遞一個(gè)視頻的地址,就會(huì)全自動(dòng)下載。它的原理是去解析視頻網(wǎng)站,拿到真實(shí)的播放地址,進(jìn)行下載。而且例如 YouTube 等視頻網(wǎng)站,如果有帶有字母,能識(shí)別的話也會(huì)自動(dòng)識(shí)別一同下載,最終以 SubRip 格式保存字母。

而 you-get 依賴 Python 和 ffmpeg 的,所以要提前安裝它們。

如果你已經(jīng)配置好 Pyhone3 的環(huán)境,安裝 you-get 非常的簡(jiǎn)單。

 
 
 
 
  1. pip3 install you-get 

安裝之后,就可以通過(guò) you-get 命令進(jìn)行下載了。

顯示的信息還是很完整的,而且有標(biāo)準(zhǔn)的下載進(jìn)度。跟多細(xì)節(jié),可以直接看 Github 上的文檔。

 
 
 
 
  1. you-get:  
  2. https://github.com/soimort/you-get 

如果是比較知名的視頻網(wǎng)站,還是推薦使用 you-get ,它本身支持的網(wǎng)站也很多(文檔上有支持的標(biāo)識(shí)),基本上做到了一鍵下載,支持的網(wǎng)站太多了,這里就不一一截圖了,基本上國(guó)內(nèi)外的大點(diǎn)的視頻網(wǎng)站都有,不過(guò)具體哪些能下載,就要具體問(wèn)題具體分析了。

【本文為專欄作者“張旸”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)通過(guò)微信公眾號(hào)聯(lián)系作者獲取授權(quán)】

戳這里,看該作者更多好文


網(wǎng)頁(yè)題目:論如何下載一個(gè)在線的m3u8文件到本地成為一個(gè)mp4!
分享URL:http://www.5511xx.com/article/cdpiech.html