ffmpeg给定图片和音频合成视频

public static String ffmpegImg2video(String imagePath,String audioPath,String outputPath) {
    try {
        ProcessBuilder processBuilder = new ProcessBuilder("ffmpeg", "-y", "-loop", "1", "-i", imagePath, "-i", audioPath, "-c:v", "libx264", "-t", getAudioDuration(audioPath).toString(), "-pix_fmt", "yuv420p", "-vf", "fps=30", "-shortest", outputPath);
        processBuilder.redirectErrorStream(true);

        Process process = processBuilder.start();

        // 读取FFmpeg的输出信息
        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("FFmpeg进程已退出,退出码:" + exitCode);

        System.out.println("音频和图片已合成为视频:" + outputPath);
    } catch (IOException | InterruptedException e) {
        e.printStackTrace();
    }
    return outputPath;
}

猜你喜欢

转载自blog.csdn.net/qq_38403590/article/details/131704170