Ffmpeg 批量修改图片大小

下载

 Ffmpeg官网:http://www.ffmpeg.org/download.html

Github:Releases · BtbN/FFmpeg-Builds · GitHub


安装

两种方法:

1.直接使用主程序 ffmpeg.exe 使用时必须指定路径;

2.把 Ffmpeg 路径加入环境变量(推荐)

解压程序包→复制ffmpeg主程序路径(一般在bin文件夹)→右键此电脑→属性→高级系统设置→环境变量→系统变量中的path,双击→新建→复制刚刚的路径


使用

通过 cmd 或者 powershell

最简单的语句:

ffmpeg -i input output        input表示输入文件路径,output表示输出文件路径


实例

1.图片格式转换: jpg转 png

ffmpeg -i input.jpg output.png

2.图片压缩

2.1 压缩一张图片

2.1.1 通过图片质量压缩

ffmpeg -i input.jpg -q 5 output.jpg

ffmpeg 会自动执行文件压缩,图片质量约为7,指定一个压缩质量,这里压缩质量为 5

除了文件大小变化,看不出啥区别

2.1.2 通过尺寸比例压缩

ffmpeg -i input.jpg -vf "scale=1920:-1" output.jpg

约束宽为 1920,比例不变

ffmpeg -i input.jpg -vf "scale=-1:1080" output.jpg

约束高为1080,比例不变

2.2 批量压缩图片,压缩文件夹中的所有图片

2.2.1 在 cmd 或者 powershell 中压缩图片,先切换到要输入图片的文件夹,然后输入:

for  %a  in ("*.png" and "*.jpg" and "*.jpeg")  do  ffmpeg  -i  "%~a"  -q 5  "新建文件夹/%%~na.jpg"

这里使用for语句,括号里为输入文件的格式,可以是多个格式。为了避免某些文件名称带有空格等字符,最好标上引号。为了避免输出文件与输入文件冲突,输出文件放入文件夹(名称自选)同目录输出当然也可以选择加 -y或者其他后缀。

2.2.2 通过 bat 批处理文件压缩图片:

新建文本文档,编辑:

for  %%a  in ("*.png" and "*.jpg" and "*.jpeg")  do  ffmpeg -i  "%%~a"  -q 5  "新建文件夹/%%~na.jpg"

然后另存为 bat 文件,在资源目录双击执行。

和 cmd 或者 powershell 的区别是 %a 替换为 %%a。

2.2.3 批量缩放图片

for %%a in ("*.png" and "*.jpg" and "*.jpeg") do ffmpeg -i "%%~a" -vf "scale=-1:1080" -q 5 "完成/%%~na.jpg"

将目录中png/jpg/jpeg约束高1080等比例缩放,加上刚刚的指定质量会更符合预期

2.3 裁剪一张图片

同上使用 -vf ,crop参数

2.3.1 默认于中心向四周剪裁1000*1000的图片

ffmpeg -i input.jpg -vf crop=1000:1000 output.jpg

2.3.2 指定坐标点为500:500

ffmpeg -i input.jpg -vf crop=1000:1000:500:500 output.jpg

2.3.3 按比例剪裁

ffmpeg -i input.jpg -vf "crop=iw:iw/16*9" -q 5 output.jpg

约束宽为宽,比例为16:9,中心剪裁,长宽比在1.77以内可用

2.3.4 批量裁剪图片

for %%a in ("*.png" and "*.jpg" and "*.jpeg") do ffmpeg -i "%%~a" -vf "crop=iw:iw/16*9" -q 5 "完成/%%~na.jpg"

猜你喜欢

转载自blog.csdn.net/weixin_41292299/article/details/131309424
今日推荐