JavaでFFmpegコマンドを呼び出す方法は?

JavaでFFmpegコマンドを呼び出すには、Runtime.getRuntime().exec(command)メソッドを使用できます。ここで、commandは実行するFFmpegコマンドです。

次にはJavaでFFmpegコマンドを使用してビデオを変換する方法のサンプルコードを示します。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class FFmpegExample {
public static void main(String[] args) {
String ffmpegCommand = "ffmpeg -i input.mp4 -c:v libx264 -c:a aac output.mp4";
try {
Process process = Runtime.getRuntime().exec(ffmpegCommand);
// 获取进程的输出流
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 等待FFmpeg命令执行完成
int exitCode = process.waitFor();
if (exitCode == 0) {
System.out.println("视频转码成功!");
} else {
System.out.println("视频转码失败!");
}
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}

このコードサンプルでは、 ffmpegCommand は実行される FFmpeg コマンド、 input.mp4 はトランスコードされるビデオファイル、 output.mp4 はトランスコードされた出力ファイルです。これらのパラメータは、必要に応じて変更できます。

exec()メソッドを呼び出す際には、プロセスの出力ストリームを処理して読み出す必要があることに注意してください。そうしないと、プロセスがブロックされる可能性があります。サンプルコードでは、BufferedReaderを使用してプロセスの出力を読み取り、コンソールに出力しています。

bannerAds