对于上传的新Instagram API视频,必须为:
例如,以4:5书写的长宽比的值为4/5 = 0.8。
任何纵横比都可以。我该怎么做,以便ffmpeg检查它是否在这些比率之间,如果不是,请重新缩放它(使用某种填充)。
我尝试过:
ffmpeg -i video.mp4 -c copy -bsf:v h264_metadata=sample_aspect_ratio=0.8 video2.mp4
这似乎什么都没做。
ffmpeg -i video.mp4 -vf "scale=w=640:h=640:force_original_aspect_ratio=decrease,pad=w=640:h=640:x=(iw-ow)/2:y=(ih-oh/2):color=white" video2.mp4
这只会缩放为640x640,并添加白色填充。
有什么想法吗?谢谢!
答案 0 :(得分:1)
使用
ffmpeg -i video.mp4 -vf "pad=w=max(ih*4/5\,iw):h=ih:x=(iw-ow)/2:y=(ih-oh/2):color=black,pad=w=iw:h=max(iw*9/16\,ih):x=(iw-ow)/2:y=(ih-oh/2):color=black" video2.mp4
如果输入DAR小于4/5,则第一个垫将添加填充,否则不添加。如果输入DAR大于16/9,第二个填充将添加填充。