springboot调用ffmpeg完成有音频的视频与背景音乐合并
做毕设开始接触的ffmpeg,跟这mooc一步步学的,但是发现当我给有音频的视频和并新音频的时候出现了错误,从网上找了找,现在可以实现:
/**
* @Description: 视频与背景音乐合并
* 使用CMD命令:ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac -strict experimental
* -map 0:v:0 -map 1:a:0 -t 10 output.mp4
*/
public void mergeVideoBgm(String bgmInputPath, String videoInputPath, String videoOutputPath) throws Exception {
List<String> command = new ArrayList<>();
command.add(ffmpegExe);
command.add("-i");
command.add(videoInputPath);
command.add("-i");
command.add(bgmInputPath);
command.add("-c:v");
command.add("copy");
command.add("-c:a");
command.add("aac");
command.add("-strict");
command.add("experimental");
command.add("-map");
command.add("0:v:0");
command.add("-map");
command.add("1:a:0");
command.add("-t");
command.add("10");
command.add(videoOutputPath);
startProcess(command);
}
video.MP4是你要合并的视频文件名,audio.wav是音频文件名,当然mp3格式的也可以,output.mp4是合并后的新文件的名字。其中 -t 10 是我自己设置的意思是合成一个长度为10秒的视频。 -i 我给忘了是啥意思了,不过得加上,这个文件合成后,会把原来视频里的音频替换成你设置的音频。
用之前可以试试在ffmpeg根目录bin下,执行cmd命令。输入这个命令,他会在你的根目录下生成新文件。
上一篇:
IDEA上Java项目控制台中文乱码
