Java可以通过使用ProcessBuilder类来启动ffmpeg进程并将其连接到Java应用程序的标准输入或输出流。以下是一个示例代码:

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class FFmpegOutputDemo {
    public static void main(String[] args) throws IOException {
        ProcessBuilder pb = new ProcessBuilder("ffmpeg", "-i", "input.mp4", "-f", "mpegts", "-");

        Process process = pb.start();

        InputStream ffmpegOutput = process.getInputStream();

        byte[] buffer = new byte[1024];
        int bytesRead;
        while ((bytesRead = ffmpegOutput.read(buffer)) > -1) {
            System.out.write(buffer, 0, bytesRead);
        }

        process.destroy();
    }
}

这个示例代码启动一个ffmpeg进程,将输入文件input.mp4转换为MPEG-TS格式并输出到标准输出流。Java应用程序通过读取ffmpeg输出流并将其写入标准输出流来获取输出。

注意,如果ffmpeg输出到标准错误流而不是标准输出流,则需要使用process.getErrorStream()方法获取错误流并进行处理

java实现 ffmpeg 直接输出流

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

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