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进行视频格式转化了
在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();