java使用FFmpeg给视频加水印
时间: 2023-09-17 07:14:56 浏览: 108
要使用FFmpeg给视频加水印,需要在Java中调用FFmpeg命令。下面是一个示例代码:
```java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class FFmpegWatermark {
public static void main(String[] args) {
String inputFilePath = "/path/to/input/file.mp4";
String outputFilePath = "/path/to/output/file.mp4";
String watermarkFilePath = "/path/to/watermark.png";
String[] command = {"ffmpeg", "-i", inputFilePath, "-i", watermarkFilePath, "-filter_complex",
"[0:v][1:v]overlay=10:10", "-c:a", "copy", outputFilePath};
ProcessBuilder pb = new ProcessBuilder(command);
pb.redirectErrorStream(true);
try {
Process process = pb.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("FFmpeg process exited with code " + exitCode);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,需要替换`inputFilePath`、`outputFilePath`和`watermarkFilePath`为实际的文件路径。`overlay=10:10`表示将水印放在视频左上角。如果需要放在其他位置,可以调整参数。`-c:a copy`表示将音频直接拷贝到输出文件中,以保持音频质量不变。
请注意,使用FFmpeg需要安装FFmpeg命令行工具。安装方法可以参考官方文档。
阅读全文