如何使用FFmpeg更改具有宽高比的视频的分辨率?
有选项 http://manpages.ubuntu.com/manpages/oneiric/man1/ffmpeg.1.html
-s size
Set frame size. The format is wxh (ffserver default = 160x128,
ffmpeg default = same as source). The following abbreviations are
recognized:
和
-aspect aspect
Set the video display aspect ratio specified by aspect.
aspect can be a floating point number string, or a string of the
form num:den, where num and den are the numerator and denominator
of the aspect ratio. For example "4:3", "16:9", "1.3333", and
"1.7777" are valid argument values.
例如,我有两个输入视频:
- 分辨率为200*400
- 分辨率为400*700
如果我使用-s 100x200运行ffmpeg,则第二个视频将具有错误的宽高比。
如何通过宽度限制输出视频,同时使用正确的高宽比自动计算高度?
例如,我想要指定输出视频仅具有100像素的宽度,并且ffmpeg必须自动计算正确的高宽比来确定高度。
对于第一个视频,将是:
200/100=2
400/2=200
即100x200
对于第二个视频,将是:
400/100=4
700/4=75
即100x75
这是否可能?
ffmpeg
或ffprobe
输出,你会注意到有SAR和DAR(源/目标宽高比?)。这两者并不相同。例如,我想简单地修复一个宽高比错误的视频,所以我运行了ffmpeg -i input.mp4 -vf setdar=16/10 output.mp4
。它不允许使用-c:v copy
!然而,当我用mpv
播放视频时,它显示:VO: [gpu] 600x480 => 768x480 yuv420p
——所以它在播放时被重新调整大小!那么为什么这个操作需要重新编码呢? - Tomasz Gandor