[忤旭]《.ts文件》合并攻略

大家好,我是忤旭!
今天這期主要分享一下關于如何合并.ts文件。目前有許多視頻網(wǎng)站選擇用TS流媒體技術播放視頻,即傳輸.ts格式的視頻文件。這對于想直接獲得一個完整視頻的用戶不是很方便,甚至有一些還會給.ts文件加密,今天就講一下我的解決經(jīng)驗。文章將會從批處理合并.ts文件、軟件合并.ts文件和FFmpeg解密合并.ts文件三方面進行分享。PS:.m3u8文件、.ts文件和.key文件的下載方法網(wǎng)上有很多,如https://blog.csdn.net/vatermutter/article/details/123991696。
一.批處理合并.ts文件
將存有copy /b? *.ts new.ts命令的.txt文件保存為.bat文件,放到.ts文件所在文件夾運行即可,但可能會合不全。
二.軟件合并.ts文件
我喜歡用這個軟件,比較輕量。https://www.onlinedown.net/soft/1113231.htm
三.FFmpeg解密合并.ts文件
(1)“安裝”FFmpeg
首先前往http://ffmpeg.org/下載軟件。



解壓到本地磁盤。

配置環(huán)境變量。
記下你的ffmpeg的bin路徑

用Win+X打開快速工具選單,當然你也可以右鍵開始菜單。


環(huán)境變量→系統(tǒng)變量→選中Path→編輯→新建→輸入你的ffmpeg\bin路徑→確定。

(2)確認“安裝”
用Win+R打開運行,輸入CMD打開命令行終端,輸入ffmpeg -version確認“安裝”。


(3)修改.m3u8文件
首先使用記事本方式打開.m3u8文件,修改:
1.key文件的絕對地址,如F:/1/key.key,確保key文件的后綴正確。
2.每一個視頻片段的絕對地址,可以用文本替換的方式快速進行。
注意:IV參數(shù)不可刪除,其記錄了片段時間偏移

(4)將命令行終端工作地址移動至.ts文件所在地址,可參考以下命令
移動到時指定盤符,如C:
進入指定文件夾,如CD 1\2
退回上一級目錄,如CD ..\
(5)在命令行終端中輸入命令進行合并
合并少量.ts文件
ffmpeg -i "1.ts|2.ts|3.ts|4.ts|.5.ts|" -c copy output.mp4
命令解釋:ffmpeg為統(tǒng)一前綴;-i?"1.ts|2.ts|3.ts|4.ts|.5.ts|"為指定相對路徑下的多個源文件,當然你也可以用文本文件來列出所有需要使用的文件;-c?copy為復制源視頻編碼方式;output.mp4為指定相對路徑下的輸出文件。
利用.txt指明所有源文件來合并大量.ts文件
ffmpeg?-i?file.txt?-c copy output.mp4
file.txt文件內容
file 'F:\live-0.ts'
file 'F:\live-1.ts'
合并.m3u8指出的所有.ts文件
ffmpeg -allowed_extensions ALL -i name.m3u8 -c copy output.mp4
說明:利用該命令后,ffmpeg會自動根據(jù).m3u8文件中的設置,利用key文件解密后再合并,一般key為16位密鑰,但如果key被二次加密,則可能會不等于16位,合并可能會出錯。
命令解釋:ffmpeg為統(tǒng)一前綴;-allowed_extensions ALL為允許擴展所有文件;-i?name.m3u8為指定相對路徑下的源文件,由于是.m3u8文件,ffmpeg會自動去解析其中記錄的所有視頻片段;-c copy為復制源視頻編碼方式;output.mp4為指定相對路徑下的輸出文件。