FFmpeg命令系列
在Mac下编译 FFmpeg ,并在Android中使用
每天一点FFmpeg(1)
每天一点FFmpeg(2)
每天一点FFmpeg(3)
每天一点FFmpeg(4)
每天一点FFmpeg(5)
每天一点FFmpeg(6)
裁剪视频
从输入的视频文件截取你想要的矩形区域到输出视频。通常用来处理视频的黑边。
命令:
-vf crop =ow[:oh[:x[:y]]]
参数说明:
ow:输出视频文件的宽度
oh:输出视频文件的高度
x,y:从(x,y)坐标点开始裁剪
图示说明:
举例:
剪辑输入视频的的左三分之一,中间三分之一,右边三分之一。
ffmpeg -y -i demo.mp4 -vf crop=iw/3:ih: 0:0 demo-crop-l.mp4
ffmpeg -y -i demo.mp4 -vf crop=iw/3:ih: iw/3:0 demo-crop-c.mp4
ffmpeg -y -i demo.mp4 -vf crop=iw/3:ih: iw/3*2:0 demo-crop-r.mp4
运行效果,截取其中一帧图片对比:
视频填充
在输入视频文件添加一块额外的区域到输出视频。通常处理显示不同的横纵比。
命令:-vf pad=ow:[:oh[:x[:y][:color]]]
参数说明:
ow:输出视频文件的宽度(填充宽度+源视频宽度(iw)) 必须 > iw
oh:输出视频文件的高度(填充高度+源视频高度(ih))必须 > ih
x,y:从(x,y)坐标点开始填充(经测试,只能正值)
color:填充颜色
举例:
用30个像素的粉色包围整个视频
ffmpeg -y -i demo.mp4 -vf pad=iw+60:ih+60:30:30:pink
效果:
改变视频的横纵比
4:3到16:9
ffmpeg -y -i dem0.mp4 -aspect 1.7777 demo-16_9.mp4
16:9到4:3
ffmpeg -y -i dem0.mp4 -aspect 1.3333 demo-4_3.mp4
说明:-aspect 设置横纵比 4:3为1.3333 16:9为1.7777
旋转
使用的参数选项为 transpose
transpose={0,1, 2,3}
0:逆时针旋转90度然后垂直翻转
1:顺时针旋转90度
2:逆时针旋转90度
3:顺时针旋转90度然后水平翻转
水平翻转(Horizontal flip)
-vf hfilp
竖直翻转(Vertical flip)
-vf vfilp
举例:
ffmpeg -y -i dem0.mp4 -vf transpose=1 demo-roate.mp4
ffmpeg -y -i dem0.mp4 -vf hfilp demo-hfilp.mp4
ffmpeg -y -i dem0.mp4 -vf vfilp demo-vfilp .mp4