ffmpeg – force_original_aspect_ratio=increase – stretches video height but not width
I am trying to concat 3 videos. But the middle video, is only stretching in height.
test1.mp4
test2.mkv
test3.gif
Which have been encoded into mp4s with ffmpeg
test1.mp4
Stream #0:0[0x100]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, progressive), 720x1280 [SAR 1:1 DAR 9:16], 30 fps, 30 tbr, 90k tbn
test2.mp4
Stream #0:0[0x100]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, progressive), 538x662 [SAR 1:1 DAR 269:331], 30 fps, 30 tbr, 90k tbn
test3.mp4
Stream #0:0[0x100]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, progressive), 333x592 [SAR 1:1 DAR 9:16], 30 fps, 30 tbr, 90k tbn
When I attempt the concat them. test3.gif scales up to fit the screen. But test2.mkv only scales up its height to fit the screen. (Its width does not increase to match)
When using, force_original_aspect_ratio=decrease, test2.mkv has correct aspect ratio (does not stretch) … but does not stretch to fit screen (1280×720) … it just sits in the middle of the screen like a thumbnail. Whereas test3.gif correctly scales up to fit the screen.
When using, force_original_aspect_ratio=increase, test2.mkv has the incorrect aspect ratio (only the height scales up to fit the screen) … but the width does not scale up and the video appears squashed in width.
These are the codes I am using for both examples,
force_original_aspect_ratio=increase
ffmpeg -f concat -i mylist.txt -vf scale==720:1280:force_original_aspect_ratio=increase,setsar=1 merged_video2.mp4
force_original_aspect_ratio=decrease
ffmpeg -f concat -i mylist.txt -vf "scale=720:1280:force_original_aspect_ratio=decrease:eval=frame,pad=720:1280:-1:-1:color=black" merged_video2.mp4
Question
How can I get test2.mkv width to scale up with the height? So the aspect ratio stays fixed.
test2.mkv has a DAR 269:331 and the other 2 videos both have, DAR 9:16 … could this be causing the problem?
Read more here: Source link
