ffmpeg+java實現五秒鍾剪輯80個視頻


最近刷起了抖音,自己搞了幾個視頻,准備剪輯一下發布,結果,拍攝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();
            }
        }
    }
}

 

執行結果:

 

 完美~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM