Java转换视频可以用JJmpeg, 而JJmpeg其实是对ffmpeg的封装,所以需要做两件事:

  • 在项目中引入JJmpeg
  • 在服务器上安装ffmpeg

在服务器上安装ffmpeg

1、下载安装包

http://ffmpeg.org/download.html#build-linux

image-20230105163550988

选择对应的版本

image-20230105164020559

2、解压

tar -xf ffmpeg-release-amd64-static.tar.xz
# 重命名
mv ffmpeg-5.1.1-amd64-static ffmpeg

3、使用

./ffmpeg -i /opt/server/test/a.mov /opt/server/test/b.mp4

好了,你已经学会如何使用ffmpeg进行视频格式转化了

更多操作:http://ffmpeg.org/ffmpeg.html

在Java代码中使用

1、引入依赖

<dependency>
  <groupId>net.bramp.ffmpeg</groupId>
  <artifactId>ffmpeg</artifactId>
  <version>0.7.0</version>
</dependency>

2、使用

2.1 文件转文件

String path = "/opt/server/ffmpeg";
// ffmpeg的路径
FFmpeg ffmpeg = new FFmpeg(path + "/ffmpeg");
FFprobe ffprobe = new FFprobe(path + "/ffprobe");

FFmpegBuilder builder = new FFmpegBuilder()
  // 源文件
  .setInput("/opt/server/test/a.mov")
  // 目标文件
  .addOutput("/opt/server/test/b.mp4")
  .done();

FFmpegExecutor executor = new FFmpegExecutor(ffmpeg, ffprobe);
executor.createJob(builder).run();

2.2 url转文件

String path = "/opt/server/ffmpeg";
// ffmpeg的路径
FFmpeg ffmpeg = new FFmpeg(path + "/ffmpeg");
FFprobe ffprobe = new FFprobe(path + "/ffprobe");

FFmpegBuilder builder = new FFmpegBuilder()
  // 源文件
  .setInput("https://notes.zijiancode.cn/2023/01/06/a.mov")
  // 目标文件
  .addOutput("/opt/server/test/c.mp4")
  .done();

FFmpegExecutor executor = new FFmpegExecutor(ffmpeg, ffprobe);
executor.createJob(builder).run();