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项目控制台中文乱码