最近刷起了抖音,自己搞了幾個視頻,准備剪輯一下發布,結果,拍攝5分鍾,PS剪輯兩個小時,給我弄廢廢了,然后就上網搜了一下,結果搜到了ffmpeg這個神器,一頓研究,感覺幸福多了。
首先來看下官方的解釋:
目前只用到了他的視頻剪輯功能,但是還可以實現,視頻音頻合成,格式轉換,圖片轉視頻等等比較高級的功能;
我們先來看看視頻剪輯功能如何實現的 ,基本上能做到五秒鍾,80個視頻沒問題;
關鍵語句:
ffmpeg -ss 0 -to 30 -i 輸入視頻路徑 -c copy 輸出視頻路徑
主要參數
-i——設置輸入檔名。
-f——設置輸出格式。
-y——若輸出文件已存在時則覆蓋文件。
-fs——超過指定的文件大小時則結束轉換。
-t——指定輸出文件的持續時間,以秒為單位。
-ss——從指定時間開始轉換,以秒為單位。
-t從-ss時間開始轉換(如-ss 00:00:01.00 -t 00:00:10.00即從00:00:01.00開始到00:00:11.00)。
-title——設置標題。
-timestamp——設置時間戳。
-vsync——增減Frame使影音同步。
-c——指定輸出文件的編碼。
-metadata——更改輸出文件的元數據。
-help——查看幫助信息。
ffmpeg的官網地址是:https://www.ffmpeg.org/
ffmpeg的Github項目地址是:https://github.com/FFmpeg/FFmpeg
上代碼:
public class FfmpegTest { private final static String INPUTPATH = "E:\\GoogleDownload\\ccccc\\bgbgbg.mp4"; private final static String OUTPATH = "E:\\GoogleDownload\\ccccc\\ffmpeg\\"; private final static String FFMPEGPATH = " E:\\Download\\ffmpeg.exe "; public static void main(String[] args) { int n = 80; int start =0; for(int i=0;i<n;i++){ try { Runtime runtime = Runtime.getRuntime(); int end = start+30; String cut = FFMPEGPATH + "-ss " +start+" -to " + end + " -i " + INPUTPATH + " -c copy " + OUTPATH +i+ ".mp4"; System.out.println(cut); runtime.exec(cut); start = end; } catch (Exception e) { e.printStackTrace(); } } } }
執行結果:
完美~