我正在尝试使用android中的ffmpeg从命令行中选择的图像制作视频
使用this项目作为我的来源,我正在尝试制作视频
这是我试图创建视频的命令
String[] ffmpegCommand = {ffmpegBin,
"-y",
"-qscale",
"1",
"-r", "" + frameRate,
"-i", image1.getAbsolutePath(),
"-t", "" + (((4) * 30) + 4), //"-s",heightwidth,
"-i", image2.getAbsolutePath(),
"-t", "" + (((4) * 30) + 4), //"-s",heightwidth,
"-i", image3.getAbsolutePath(),
"-t", "" + (((4) * 30) + 4), //"-s",heightwidth,
"-i", image4.getAbsolutePath(),
"-t", "" + (((4) * 30) + 4), //"-s",heightwidth,
"-vcodec",
"libx264",
"-s",
"640x480",
outputFile.getAbsolutePath()};
但创建的视频仅显示第一张图片,而视频的创建时间不到一秒
这句话中的问题是什么?为什么视频中只显示1张图片?
抱歉我的英文不好答案 0 :(得分:2)
这是你应该适应你的字符串数组的ffmpeg命令:
ffmpeg -framerate 25 -t 124 -loop 1 -i image1
-framerate 25 -t 124 -loop 1 -i image2
-framerate 25 -t 124 -loop 1 -i image3
-framerate 25 -t 124 -loop 1 -i image4
-filter_complex "[0][1][2][3]concat=n=4"
-c:v libx264 -s 640x480 outputfile
规则是输入选项(framerate,t..etc)在输入条目之前。
concat过滤器将图像流连接在一起。如果它们的大小不同,则应调整大小以使它们相同。
答案 1 :(得分:2)
在这里,我创建了12秒的视频,每张3张图像,每张3秒,淡出效果淡入淡出。
运行以下命令并确保所有图像具有相同的高度宽度。
Microsoft.AspNetCore.Mvc.Formatters.Xml