2023年7月17日
By: Chase

ffmpeg使用记录

前言

目前使用ffmpeg处理过blog的动图展示, 最近又处理微信表情包的上传, 在此记录下常用参数.

参数意义

可直接ffmpeg -h

-i

input filename

ffmpeg -i test.mp4 test.avi 

-r

-frames number, 代表fps, 通常动图每秒10帧就挺流畅的了

ffmpeg -i test.mp4 -r 12 test.avi 

-s

size, 宽*高

ffmpeg -i test.mp4 -r 12 -s 240*240 test.gif 

-t, -ss

time, 输出的时长; ss开始时间; 配合使用可以在特定的时间点截取某段视频.

ffmpeg -i test.mp4 -t 5 -ss 00:00:10 test.gif 

-fs

限制输出大小, 根据大小直接截断, 可以用k, M等单位

ffmpeg -i test.mp4 -fs 500k test.gif 

-vf

也可以用-filter:v, 设置过滤

ffmpeg -i .test.mp4 -filter:v "setpts=0.5*PTS" ./test.gif

代表两倍速, 目前只是了解一个setpts, 什么

场景示例

从视频里截gif

ffmpeg -i ./2023-05-02\ 00-14-18.mkv -t 24 -ss 00:00:01 -filter:v "setpts=0.3*PTS" ./test.gif

转换微信表情图

ffmpeg -i 01.GIF -s 240*240 ../01.gif
ffmpeg -i 01.GIF -s 120*120 ../01.png

遇到大小太大的, 调整-r丢帧 + 改变PTS + 找个gif压缩网站.

Tags: ffmpeg