【ffmpeg简单上手】图片的简单处理教程

ffmpeg堪称多媒体处理的瑞士军刀,通过一些简单的指令便可对多媒体文件进行处理来满足不同的需求,笔者也是近期接触,大佬轻喷

视频处理详情见:【ffmpeg简单上手】视频处理教程

下载和安装
官网提供不同平台的安装包 http://www.ffmpeg.org/download.html
win:https://github.com/BtbN/FFmpeg-Builds/releases

安装
这里简单讲解win平台如何使用
两种方法
1.直接使用主程序 ffmpeg.exe 使用时必须要指定路径
2.配置环境变量(推荐)
解压程序包→复制ffmpeg主程序路径(一般在bin文件夹)→右键此电脑→属性→高级系统设置→环境变量→系统变量中的path,双击→新建→复制刚刚的路径
图片[1]-【ffmpeg简单上手】图片的简单处理教程-憬瑟流年
使用
配合cmd或者powershell

最简单的语句:

ffmpeg -i input output

就是这么简单,input为输入文件,output为输出文件

实例 这里的第一步都需要切换至资源(图片)目录cmd→cd /d贴上路径回车

1.实现图片格式的转换,以常见的png转jpg为例

ffmpeg -i input.jpg output.png

2.图片的简单压缩

ffmpeg -i input.jpg output.jpg

ps:在不指定参数的情况下,ffmpeg将自动为图片执行压缩(图片质量约为7?)
指定一个压缩质量,个人比较喜欢 q 5

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

图片[2]-【ffmpeg简单上手】图片的简单处理教程-憬瑟流年[ad]
除了大小,看不出什么区别。。
执行批量压缩,这个比较实用
新建记事本,编辑:

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

解释下,这里使用for语句,括号里为输入文件的格式,可以是多个格式。为了避免某些文件名称带有空格等字符,最好标上引号。为了避免输出文件与输入文件冲突,输出文件放入文件夹(名称自选)同目录输出当然也可以选择加 -y或者其他后缀
另存为bat,在资源文件(图片)目录双击执行
图片[3]-【ffmpeg简单上手】图片的简单处理教程-憬瑟流年
压缩比还是很可观的

3.图片约束尺寸按比例压缩

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

约束宽为1920,比例不变
图片[4]-【ffmpeg简单上手】图片的简单处理教程-憬瑟流年

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

约束高为1080,比例不变
批量:

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

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

4.图片剪裁
同上使用 -vf ,crop参数

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

默认于中心向四周剪裁1000*1000的图片
图片[5]-【ffmpeg简单上手】图片的简单处理教程-憬瑟流年

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

指定坐标点为500:500
图片[6]-【ffmpeg简单上手】图片的简单处理教程-憬瑟流年

按比例剪裁

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

约束宽为宽,比例为16:9,中心剪裁,长宽比在1.77以内可用
图片[7]-【ffmpeg简单上手】图片的简单处理教程-憬瑟流年

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

约束高为高,比例为16:9,中心剪裁,长宽比在1.77以上使用
同样批量:

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

差不多就这样吧

© 版权声明
THE END
扫码关注微信公众号,更多精彩
点赞0打赏 分享
二月 9

本站历史上的今天