JavaでFFmpegコマンドを実行する方法
Javaでは、ffmpegコマンドを呼び出すためにはRuntime.getRuntime().exec()メソッドが使用できます。
これはffmpegコマンドを使用してビデオファイルをMP4形式に変換する方法の例のコードです:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class FFMpegExample {
public static void main(String[] args) {
try {
// 定义ffmpeg命令
String ffmpegCmd = "ffmpeg -i input.avi output.mp4";
// 执行ffmpeg命令
Process process = Runtime.getRuntime().exec(ffmpegCmd);
// 获取命令输出结果
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 等待命令执行完成
int exitCode = process.waitFor();
System.out.println("Exit Code: " + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
上で紹介したコードにて、ffmpeg -i input.avi output.mp4 は実行するffmpegコマンドである。このとき、input.avi は入力ファイル名、output.mp4 は出力ファイル名である。それぞれ必要に応じて変更可能である。
Runtime.getRuntime().exec()メソッドで、コマンドを実行するための新しいプロセスを作成し、Processオブジェクトを返します。Processオブジェクトを使用して、コマンドの実行結果を取得するか、waitFor()メソッドを使用して、コマンドの実行が完了するまで待つことができます。
また、Javaプログラムで ffmpeg コマンドを使用するには、ffmpeg がインストールされていて環境変数が設定されていることを確認する必要があります。