问题描述
在 Android 上从图像创建视频幻灯片时出现问题。它最多适用于 3 张图像,但如果我选择更多,它只会为前 3 张创建。我将幻灯片持续时间设置为 5 秒,因此如果我选择 2 张图像,则有 2 张幻灯片和 10 秒的视频,如果我选择 3 张图片,有 3 张幻灯片和 15 秒的视频,但如果我选择 4 张或更多张图片,则会再次有 3 张幻灯片和 15 秒的视频和前 3 张图片。这是我的代码:
private fun generateFFmpegCommandForSlideshow(outputFile: File):String
{
val cmd = "-y ${getInputimagesCommand()}-filter_complex ${scaleImagesCommand()}${concatCommand()} -map [outp] -c:v libx264 ${outputFile.absolutePath}"
return cmd
}
private fun getInputimagesCommand():String
{
var cmd = ""
for(image in slideImagesUriList)
{
val imagePath = FFmpegKitConfig.getSafParameterForRead(this,image)
cmd += "-r 1/5 -i $imagePath "
}
return cmd
}
private fun scaleImagesCommand():String
{
var cmd = ""
var charCounter = 'a'
for(i in 0 until slideImagesUriList.size)
{
cmd += "[$i]scale=600x400,setsar=1:1[${charCounter++}];"
}
return cmd
}
private fun concatCommand():String
{
var cmd = ""
var charCounter = 'a'
for(image in slideImagesUriList)
{
cmd += "[${charCounter++}]"
}
cmd +="concat=n=${slideImagesUriList.size}:v=1:a=0,format=yuv420p[outp];"
return cmd
}
我将此库用于 FFMPEG:https://github.com/tanersener/ffmpeg-kit
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)