1. 程式人生 > >Java使用ffmpeg音視訊分離

Java使用ffmpeg音視訊分離

建立專案

使用IDEA用Maven建立一個Java專案,在resources資料夾下建立一個ffmpeg資料夾,將下載好的ffmpeg中bin目錄下的ffmpeg.exe程式複製到剛剛建立好的資料夾下。

音視訊分離

import java.io.File;
import java.io.IOException;
import java.net.URL;

public class SSP {
    //轉換命令
    private static String ssp;
    //獲得resources的路徑
    private static URL url = Thread.
currentThread().getContextClassLoader().getResource("ffmpeg"); /* * @Author: Haya * @Date: 2018/10/30 19:27 * * @param add 視訊檔案所在路徑 * @param f1 視訊檔名 * @param f2 提取出來的音訊名 * @returns: void * @Description: 將轉換檔案和目標檔案新增到命令中 */ public static void setSSP(String add, String f1,
String f2) { ssp = "/ffmpeg -i "+add+f1 +" -vn -y -acodec copy "+ add+f2; } /* * @Author: Haya * @Date: 2018/10/30 19:29 * * @param null * @returns: * @Description: 執行命令 */ public static void Do() throws IOException { Runtime runtime =Runtime.getRuntime
(); String path = new File(String.valueOf(url)).getPath().substring(6); //命令不為空 if (!"".equals(ssp) && ssp!=null) { System.out.println(path+ssp); Process p = runtime.exec(path+ssp); p.getOutputStream().close(); p.getInputStream().close(); p.getErrorStream().close(); }else{ System.out.println("請先設定命令、指定檔案"); } } }

呼叫

先執行 setSSP()
在執行 Do()