FFMPEG仅在4k视频和保持纵横比时降级

FFMPEG仅在4k视频和保持纵横比时降级,ffmpeg,Ffmpeg,当且仅当视频分辨率高于某一分辨率时,是否有办法降低视频分辨率 例如,我现在正在做的是: ffmpeg -i 4k_VIdeo.MP4 -vf scale=1920:1080 -c:v libx264 -crf 35 1080-video-smaller.mp4 但是如果视频的分辨率是720:600或更小,我不想扩展到1920,如果视频的纵横比不是1920:1080,我想保持相同的纵横比,这样它看起来就不会失真 有没有办法做到这一点 ffmpeg -i 4k_video.mp4 \ -filte

当且仅当视频分辨率高于某一分辨率时,是否有办法降低视频分辨率

例如,我现在正在做的是:

ffmpeg -i 4k_VIdeo.MP4 -vf scale=1920:1080 -c:v libx264 -crf 35 1080-video-smaller.mp4
但是如果视频的分辨率是720:600或更小,我不想扩展到1920,如果视频的纵横比不是1920:1080,我想保持相同的纵横比,这样它看起来就不会失真

有没有办法做到这一点

ffmpeg -i 4k_video.mp4 \
-filter_complex \ 
"scale='if(gt(iw,1920),1920,-1)':'if(gt(ih,1080),1080,-1)':force_original_aspect_ratio=decrease" \
-c:v libx264 -crf 35 1080-video-smaller.mp4
如果原始输入宽度大于1920,则以下命令将缩放宽度设置为1920,否则将其设置为-1,这将自动选择宽度以保持原始纵横比。高度与1080相同。 如果宽度和高度都较大,分辨率将为1920x1080,但如果纵横比不匹配,
强制原始纵横比将减小宽度或高度

  • iw:输入宽度
  • ih:输入高度
  • gt:大于