1. 程式人生 > 其它 >Linux使用ffmpeg合併視訊

Linux使用ffmpeg合併視訊

技術標籤:Linux

第一種方法(推薦)

速度快,檔案小

先將 mp4 轉化為同樣編碼形式的 ts 流,因為 ts流是可以 concate 的,先把 mp4 封裝成 ts ,然後 concate ts 流, 最後再把 ts 流轉化為 mp4。

ffmpeg -i 1.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 1.ts
ffmpeg -i 2.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 2.ts
ffmpeg -i "concat:1.ts|2.ts" -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4

第二種方法(不推薦)

合併後的視訊間隙時長過長。

在視訊檔案所在目錄下新建一個檔案filelist.txt,內容如下:

file '1.mp4'
file '2.mp4'
file '3.mp4'
file '4.mp4'
file '5.mp4'
file '6.mp4'
file '7.mp4'
file '8.mp4'
file '9.mp4'
file '10.mp4'
file '11.mp4'
file '12.mp4'
file '13.mp4'
file '14.mp4'
file '15.mp4'
file '16.mp4'

在命令列執行如下命令:

ffmpeg -f concat -i filelist.txt -c copy output.mp4


然後,一個合併好的 output.mp4 檔案就生成了!