ffmpeg堪称多媒体处理的瑞士军刀,通过一些简单的指令便可对多媒体文件进行处理来满足不同的需求。
下载和安装
官网提供不同平台的安装包 http://www.ffmpeg.org/download.html
win:https://github.com/BtbN/FFmpeg-Builds/releases
安装
这里简单讲解win平台如何使用
两种方法
1.直接使用主程序 ffmpeg.exe 使用时必须要指定路径
2.配置环境变量(推荐)
解压程序包→复制ffmpeg主程序路径(一般在bin文件夹)→右键此电脑→属性→高级系统设置→环境变量→系统变量中的path,双击→新建→复制刚刚的路径
使用
配合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
除了大小,看不出什么区别。。
执行批量压缩,这个比较实用
新建记事本,编辑:
- for %%a in (“*.png” and “*.jpg” and “*.jpeg”) do ffmpeg -i “%%~a” -q 5 “新建文件夹/%%~na.jpg”
解释下,这里使用for语句,括号里为输入文件的格式,可以是多个格式。为了避免某些文件名称带有空格等字符,最好标上引号。为了避免输出文件与输入文件冲突,输出文件放入文件夹(名称自选)同目录输出当然也可以选择加 -y或者其他后缀
另存为bat,在资源文件(图片)目录双击执行
压缩比还是很可观的
3.图片约束尺寸按比例压缩
- ffmpeg -i input.jpg -vf “scale=1920:-1” output.jpg
约束宽为1920,比例不变
- 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的图片
- ffmpeg -i input.jpg -vf crop=1000:1000:500:500 output.jpg
指定坐标点为500:500
按比例剪裁
- ffmpeg -i input.jpg -vf “crop=iw:iw/16*9” -q 5 output.jpg
约束宽为宽,比例为16:9,中心剪裁,长宽比在1.77以内可用
- 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”
文章来源:https://www.hostloc.com/thread-805978-1-1.html