ffmpeg 9:16和16:9互相转换
今天搜集了一下16:9和9:16相互转换的命令。将多余的部分用模糊背景填充,感觉比直接加黑边好很多。
16:9转9:16 #
命令 #
ffmpeg -i input.mp4 -lavfi "[0:v]scale=256/81*iw:256/81*ih,boxblur=luma_radius=min(h\,w)/40:luma_power=3:chroma_radius=min(cw\,ch)/40:chroma_power=1[bg];[bg][0:v]overlay=(W-w)/2:(H-h)/2,setsar=1,crop=w=iw*81/256" output.mp4
效果 #
9:16转16:9 #
命令 #
ffmpeg -i input.mp4 -lavfi '[0:v]scale=ih*16/9:-1,boxblur=luma_radius=min(h\,w)/20:luma_power=1:chroma_radius=min(cw\,ch)/20:chroma_power=1[bg];[bg][0:v]overlay=(W-w)/2:(H-h)/2,crop=h=iw*9/16' -vb 800K output.mp4
效果 #
由于没有9:16的素材,我就直接用上面16:9转9:16的输出文件,作为9:16转16:9的输入文件使用了。