java使用ffmpeg实现转码
时间: 2023-09-10 14:11:56 浏览: 196
ffmpeg转码
5星 · 资源好评率100%
你可以使用Java与FFmpeg结合来实现音视频的转码功能。以下是一个简单的示例代码:
```java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class FFmpegTranscoder {
public static void main(String[] args) {
String inputFilePath = "input.mp4";
String outputFilePath = "output.mp4";
String ffmpegCommand = "ffmpeg -i " + inputFilePath + " -c:v libx264 -c:a aac " + outputFilePath;
try {
Process process = Runtime.getRuntime().exec(ffmpegCommand);
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
process.waitFor();
System.out.println("转码完成!");
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,我们使用`Runtime.getRuntime().exec()`方法执行了一个命令行命令来调用FFmpeg进行转码。`-i`参数指定了输入文件路径,`-c:v`和`-c:a`参数分别指定了视频编码器和音频编码器,最后的`outputFilePath`是输出文件路径。
你需要将FFmpeg的可执行文件路径添加到系统的环境变量中,这样Java才能找到并执行它。
请注意,这只是一个简单的示例,并不包括错误处理和进度跟踪等功能。你可以根据自己的需求进行扩展和优化。
阅读全文