如何手動(dòng)拼接從m3u8鏈接下載的ts切片視頻?
注意是手動(dòng)拼接?。?/strong>用那些能自動(dòng)合并的m3u8下載器等軟件就不用考慮了。
本文基于Windows系統(tǒng),其它的話也許能參考著思路。知道ffmpeg、cmd批處理概念好辦,不知道的話可以看看下文里我給出的傳送門,都通俗易懂。
ffmpeg也在cmd里運(yùn)行,入門了解請(qǐng)看下面這本文集:

想了解cmd可以看我下面另一本文集?,F(xiàn)在一般社會(huì)上都不怎么了解學(xué)習(xí)這些了好像,但它非常實(shí)用又免費(fèi)。

問題引導(dǎo):打算用ffmpeg下載m3u8請(qǐng)看下文的方法一。
如果是已用ffmpeg下載m3u8得到的一堆ts視頻,比如命令行像“ffmpeg -i "xxx.m3u8xxxx"?C:\Users\.m3u8”,或是已有一堆其它方法下載好的ts視頻,但它們的命名有某種規(guī)律。另外也可以自行整理命名,比如用cmd或軟件來批量重命名之類。請(qǐng)看下文的方法二。
方法一:用ffmpeg下載m3u8時(shí)加上-c copy,前提是視頻的碼率沒有被限制。我以前下1080p用這方法結(jié)果碼率給我砍到1000k就離譜……
例如下面這個(gè)命令行:
ffmpeg -i "xxx.m3u8xxxx"?-c copy?C:\Users\123.mp4
隨便寫的例子,后面輸出123.mp4的保存路徑可以自行改變
這樣最后得到從m3u8鏈接下載的123.mp4,就搞定了
如果碼率受限,可用下面命令行:
ffmpeg -i "xxx.m3u8xxxx" -c:a copy C:\Users\.m3u8
或者
ffmpeg -i "xxx.m3u8xxxx"?C:\Users\.m3u8
對(duì),都是問題引導(dǎo)那樣的意思,區(qū)別是是否復(fù)制音頻流信息。(不復(fù)制的話ffmpeg會(huì)自己重編碼,默認(rèn)音頻碼率128k,當(dāng)然這些還可以自行在命令行里設(shè)置的。(不過人家實(shí)際多少就多少,這樣碼率充了水的話沒意義))
然后轉(zhuǎn)方法二。
方法二:利用win自帶的cmd命令。很簡(jiǎn)單,你需要有excel,或wps就行了。
首先我們要知道一串命令行,如下:
copy/b 0.ts+1.ts+2.ts+3.ts new.ts
意思是把名字是0、1、2、3這四個(gè)ts視頻,按從左到右順序合并成一個(gè)名為new.ts的視頻
所以這就好辦了,我們打開記事本

就這么寫,越多越好,寫多了照樣可以只用來合并幾個(gè)ts視頻
雖說一勞永逸,但這樣手打幾十上百也是很有趣的x
所以我們用到excel,像下面這樣直接往右拉

然后復(fù)制粘貼到記事本


復(fù)制出現(xiàn)的空白,選擇“編輯-替換”

把空白粘貼到“查找內(nèi)容”,直接點(diǎn)擊“全部替換”

(記得注意“copy/b 0.ts”、“+333.ts new.ts”這兩個(gè)本身是帶空格的)
最后給這個(gè)txt文本起個(gè)名字,把后綴改為“.bat”就完成啦

這里我只是以數(shù)字名字舉例,其它道理相通的都可以
那么這個(gè)bat文件怎么用呢?
將bat文件放到和ts視頻一個(gè)文件夾里,雙擊運(yùn)行

大功告成!例子是全部按這順序拼起來生成一個(gè)`new.ts
最后轉(zhuǎn)封裝成mp4就行了。
什么意思怎么轉(zhuǎn)封裝?可看我下面這篇中間部分:

其實(shí)我以前在《如何下載騰訊優(yōu)酷a站mp4視頻》都有些提到,但講得不夠好,后面有點(diǎn)錯(cuò)誤,修改次數(shù)又已經(jīng)用完了……所以就在那邊評(píng)論區(qū)置頂了。這次再專門說一說。
最后想說,選m3u8下載器得考慮一下,軟件是否支持(m3u8是否加密,什么方式的加密),本身的目的性好不好(捆綁全家桶、忽悠性質(zhì))。這里我推薦一個(gè)nilaoda出品的N_m3u8DL-CLI軟件來下載m3u8,這個(gè)大佬就在b站噢(即是id),他還有另外一個(gè)下b站視頻的軟件biliparser也很推薦~
地址奉上:https://github.com/nilaoda/N_m3u8DL-CLI
https://github.com/nilaoda/BilibiliParser/releases
(還是一個(gè)熱心的粉絲告訴我我才知道的,非常感謝!)
感謝你觀看到這里。