Normalise clips before you stitch a countdown: one ffmpeg command for size, frame rate, and aspect
ShortsRankStitching clips from different sources into one vertical short fails in boring ways. One clip is landscape and gets stretched, another runs at a different frame rate and stutters, a third has a non-square pixel aspect. The fix is to bring every clip to the same format first, then join them. This post gives the normalising command and the one check to run on its output.
The command
ffmpeg -i clip.mp4 \ -vf "scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:black,fps=30,setsar=1" \ -c:v libx264 -pix_fmt yuv420p -an clip_norm.mp4
Reading the filter left to right: scale fits the clip inside 1080 by 1920 without changing its shape, pad fills the remaining area with black and centres the picture, fps=30 converts to a constant 30 frames per second, and setsar=1 makes pixels square. The -an drops audio; leave it out if you want to keep the clip's sound, and make sure every clip has an audio track before you join them.
Check the result
ffprobe -v error -select_streams v:0 -show_entries stream=width,height,r_frame_rate,sample_aspect_ratio -of csv=p=0 clip_norm.mp4
I ran both commands on a generated 1920 by 1080 test clip at 24 frames per second. The check printed 1080,1920,1:1,30/1: the right size, square pixels, and a constant 30 frames per second. A landscape source ends up as a letterboxed band in the middle of a vertical frame, which is expected and is the reason to decide how to treat landscape clips before you start. You can crop instead of pad by swapping decrease for increase and replacing pad with crop=1080:1920.
Why do it as a separate step
Joining with the concat filter requires identical stream parameters. If the clips differ, the join either fails or produces a file whose timing drifts. Normalising once per clip is easier to debug than a single huge filter graph.
Limits
This does nothing about content. It does not choose a crop that keeps the subject in frame, and padding with black can look weak on a phone. A blurred background is a common alternative, but it needs a longer filter graph.
If you would rather not script it
ShortsRank does the framing in the browser: add your own MP4, WebM, or MOV clips, pick Top 3, 5, or 10, order them, title each, and export a vertical file; clips are not uploaded. The how-to guide lists the steps. Free exports are watermarked and limited to three four-second clips.