Java 使用 FFmpeg 库实现 MKV 到 MP4 视频格式转换
要实现将 MKV 格式的视频转换为 MP4 格式,可以使用 Java 中的 FFmpeg 库来进行操作。FFmpeg 是一个开源的音视频处理工具,可以进行音视频的转码、剪辑、合并等操作。
首先,需要在项目中引入 FFmpeg 库的依赖。可以使用 Maven 来管理项目依赖,添加以下依赖到 pom.xml 文件中:
<dependencies>
<dependency>
<groupId>com.github.bramp</groupId>
<artifactId>ffmpeg-cli-wrapper</artifactId>
<version>0.6.2</version>
</dependency>
</dependencies>
然后,可以使用下面的代码将 MKV 格式的视频转换为 MP4 格式:
import net.bramp.ffmpeg.FFmpeg;
import net.bramp.ffmpeg.FFmpegExecutor;
import net.bramp.ffmpeg.builder.FFmpegBuilder;
import net.bramp.ffmpeg.progress.Progress;
import net.bramp.ffmpeg.progress.ProgressListener;
import java.io.IOException;
public class VideoConverter {
public static void main(String[] args) {
String inputFilePath = 'input.mkv';
String outputFilePath = 'output.mp4';
FFmpeg ffmpeg = null;
try {
ffmpeg = new FFmpeg('ffmpeg'); // FFmpeg 可执行文件的路径
FFmpegExecutor executor = new FFmpegExecutor(ffmpeg);
FFmpegBuilder builder = new FFmpegBuilder()
.setInput(inputFilePath) // 输入文件路径
.overrideOutputFiles(true)
.addOutput(outputFilePath) // 输出文件路径
.setFormat('mp4')
.done();
executor.createJob(builder, new ProgressListener() {
@Override
public void progress(Progress progress) {
System.out.println(String.format('转换进度:%f%%', progress.percent));
}
}).run();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ffmpeg != null) {
ffmpeg.close();
}
}
}
}
在上面的代码中,需要将 FFmpeg 可执行文件的路径传递给 FFmpeg 类的构造函数,例如 new FFmpeg('/usr/local/bin/ffmpeg')。请根据实际情况修改该路径。
运行以上代码,即可将 MKV 格式的视频转换为 MP4 格式,并在控制台输出转换进度。转换完成后,会生成一个名为 output.mp4 的 MP4 视频文件。
需要注意的是,为了使用 FFmpeg 库,还需要安装 FFmpeg 可执行文件,并将其路径正确配置到代码中。
原文地址: https://www.cveoy.top/t/topic/bWqx 著作权归作者所有。请勿转载和采集!