java怎么调用ffmpeg命令

722
2023/10/26 6:57:36
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在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来读取进程的输出,并将其打印到控制台。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: java多个数组排列组合