I tried to create a video using multiple images having different scales or sizes or (height*widths) using Mobile-FFmpeg
#
I am using this code script to get the required result:
val filterStringBuilder1 = StringBuilder()<br />
filterStringBuilder1.append(listOfImages)<br />
filterStringBuilder1.append("-filter_complex ")<br />
filterStringBuilder1.append(<br />
"[0:v]scale=100:140:force_original_aspect_ratio=decrease,pad=100:140:(ow-iw)/2:(oh-ih)/2,setsar=1,fade=t=out:st=4:d=1[v0];" +<br />
"[1:v]scale=180:120:force_original_aspect_ratio=decrease,pad=180:120:(ow-iw)/2:(oh-ih)/2,setsar=1,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v1];" +<br />
"[2:v]scale=120:180:force_original_aspect_ratio=decrease,pad=120:180:(ow-iw)/2:(oh-ih)/2,setsar=1,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v2];" +<br />
"[v0][v1][v2]concat=n=3:v=1:a=0,format=yuv420p[v]")<br />
filterStringBuilder1.append(" -map")<br />
filterStringBuilder1.append(" [v] ")<br />
filterStringBuilder1.append("-aspect 16:9 ")<br />
filterStringBuilder1.append(finalVideo.absolutePath)<br />
FFmpeg.execute(filterStringBuilder1.toString())<br />
But finding following logcat error:
E/mobile-ffmpeg: [Parsed_concat_14 @ 0x748fc98bc0] <br />
E/mobile-ffmpeg: Input link in1:v0 parameters (size 180x120, SAR 1:1) do not match the corresponding <br />output link in0:v0 parameters (100x140, SAR 1:1)<br />
E/mobile-ffmpeg: [Parsed_concat_14 @ 0x748fc98bc0] <br />
E/mobile-ffmpeg: Failed to configure output pad on Parsed_concat_14<br />
E/mobile-ffmpeg: Error reinitializing filters!<br />
E/mobile-ffmpeg: Failed to inject frame into filter network: Invalid argument<br />
E/mobile-ffmpeg: Error while processing the decoded data for stream #2:0<br />