Spring Boot 3整合FFmpeg进行图片和MP3转换为视频的示例代码如下:
添加FFmpeg依赖到pom.xml:
bash
<dependency>
<groupId>com.github.kokorin.jaffree</groupId>
<artifactId>jaffree</artifactId>
<version>0.1.2</version>
</dependency>
创建一个服务类来执行转换:
bash
import com.github.kokorin.jaffree.ffmpeg.FFmpeg;
import com.github.kokorin.jaffree.ffmpeg.FFmpegResult;
import org.springframework.stereotype.Service;
import java.nio.file.Paths;
@Service
public class VideoConversionService {
public void convertImageAndAudioToVideo(String imagePath, String audioPath, String outputPath) throws Exception {
FFmpegResult result = FFmpeg.atPath()
.addInput(FFmpeg.input(imagePath))
.addInput(FFmpeg.input(audioPath))
.overrideOutputFiles(true)
.addOutput(FFmpeg.output(outputPath)
.videoCodec("copy")
.audioCodec("copy"))
.execute();
if (result.getState() == FFmpegResult.State.SUCCESS) {
System.out.println("转换成功");
} else {
System.out.println("转换失败");
}
}
}
在Spring Boot应用的主类或者任意一个配置类中,调用转换服务:
bash
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
@Component
public class VideoConversionRunner implements CommandLineRunner {
@Autowired
private VideoConversionService videoConversionService;
@Override
public void run(String... args) throws Exception {
String imagePath = "path/to/image.jpg";
String audioPath = "path/to/audio.mp3";
String outputPath = "path/to/output.mp4";
videoConversionService.convertImageAndAudioToVideo(imagePath, audioPath, outputPath);
}
}
确保你的图片和音频文件路径是正确的,并且FFmpeg可执行文件在你的系统PATH中或者通过FFmpeg.atPath()指定。
以上代码假设你已经有了一个运行中的Spring Boot 3应用,并且FFmpeg已经安装在你的系统上。如果FFmpeg没有安装,你需要先下载并安装FFmpeg,或者使用Docker容器等方式来运行它。