一般来说,只要指定输入文件和输出文件的名称,ffmpeg就会自动根据后缀判定正确的格式。

ffmpeg我经常用来转换图像,存放在iCloud的图片如果小于1MB,就会自动下载。我利用这个特性,将漫画压缩到小于1MB放在iCloud上,用iPad看很方便。

图片视频裁剪

这种用法也适用于视频。

# crop=a:b:c:d
# ab分别代表输出图片宽度和长度,cd代表裁剪矩形左上角在图片中的位置
# in_w代表输入图片的宽度,in_h代表输入文件的高度
ffmpeg -i "test.png" -vf "crop=in_w/2:in_h:in_w/2:0" output.png

gif转mp4

这个需求是想要将gif转换成一段指定长度(10s)的循环播放视频。

ffmpeg -i "test.gif" -ignore_loop 0 -t 10s out.mp4

视频切片

裁剪从30s开始算起的30s视频

ffmpeg -i "test.mp4" -ss 00:00:30 -t 00:00:30 out.mp4

改变视频速率

将视频的速率修改为32Hz

ffmpeg -i "test.mp4" -r 32 out.mp4

拼接图片

ffmpeg -i cat.jpg -i dog.jpg -c copy -filter_complex vstack vout.jpg