1
AX5N 2021-02-22 15:19:03 +08:00
你到底要干嘛,把一个 9:16 的视频改成 4:3 ?
> ffmpeg -i a.mp4 -vf scale=640x480,setdar=4:3 output.mp4 |
2
ungrown 2021-02-24 12:40:07 +08:00
#1 楼是设定显示宽高比来强制压缩好的视频在被播放器回放时拉伸为 4:3,但鉴于源视频是个竖屏,我没理解错的话这么搞是要严重变形的(矮胖)
我个人不建议修改 PAR SAR DAR 这些涉及画面比例的东西,总觉得容易不小心骗到别人活着被别人骗,后续转码也可能采坑,总之除非别无他法,否则我不喜欢改动这些东西 楼主的代码看起来是想把一个竖屏源缩小放到一个 640x480 的画面里,两侧加黑边。其实你的命令就仅仅只差一个参数。下面这个参数是我平时将图片序列压成视频用到的: scale={width}:{height}:force_original_aspect_ratio=1,pad={width}:{height}:(ow-iw)/2:(oh-ih)/2 {width}和{height}这两个是变量,是最终输出的宽和长。上面那一串里也只有这两个是变量,ow iw oh ih 都是 ffmpeg 内部的运行时变量名称,分别表示输出和输入的宽和长,这样指定 pad 就不用自己根据具体的数值来计算了,当然这样是把源视频内切于输出画面中并且居中的(一般都是要这样的效果嘛) |