java实现 ffmpeg 直接输出流
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()方法获取错误流并进行处理
原文地址: http://www.cveoy.top/t/topic/fkZ3 著作权归作者所有。请勿转载和采集!