可以使用ProcessBuilder来调用Linux的FFmpeg命令。

下面是一个简单的Java代码示例:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class FFmpegRunner {
    public static void main(String[] args) {
        String command = "ffmpeg -i input.mp4 -c:v libx264 -preset ultrafast -crf 22 -c:a copy output.mp4";
        try {
            ProcessBuilder builder = new ProcessBuilder(command.split(" "));
            builder.redirectErrorStream(true);
            Process process = builder.start();
            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
            int exitCode = process.waitFor();
            System.out.println("Exited with error code " + exitCode);
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }
}

在上面的示例中,我们使用了ProcessBuilder来创建一个FFmpeg进程,并传递了命令行参数。我们还设置了redirectErrorStream为true,以便可以从进程的输出流中读取任何错误信息。

然后,我们使用BufferedReader来读取进程的输出流,并将其打印到控制台。最后,我们使用process.waitFor()来等待进程完成,并输出其退出代码。

您可以根据自己的需要修改命令和参数。请注意,您需要在Linux系统上安装FFmpeg才能运行此代码

java 使用process build 调用linux ffmpeg

原文地址: https://www.cveoy.top/t/topic/eKfl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录