滤镜相关命令
FFmpeg中关于滤镜命令有很多种。比如在视频中加入/删除水印、对视频做反转等等都属于滤镜。
FFmpeg滤镜处理流程
解码后的数据帧 ---过滤处理---> 过滤后的数据帧 ---编码---->编码后数据
也就是说,滤镜操作是在解码后的数据帧基础上进行操作。
1. 视频的裁剪
对视频in.mov进行裁剪,宽减少200,高减少200,然后保存为out.mp4。
ffmpeg -i in.mov -vf crop=in_w-200:in_h-200 -c:v libx264 -c:a copy out.mp4
-vf:指定视频滤镜
crop是滤镜名字,等号后面是滤镜参数
in_w和in_h表示原视频的宽和高 还可以指定X/Y 不写默认是原视频的中心点
-c:v指定视频编码器
-c:a指定音频编码器
copy就表示不做处理
2. 视频的缩放
对视频out.mp4宽高等比例缩小一倍。
ffmpeg -i out.mp4 -vf scale=iw/2:-1 scale.mp4
-vf:指定视频滤镜
scale是滤镜名字 等号后面是滤镜参数,iw/2表示宽缩小一倍,-1表示高等比例缩小。
3. 添加图片水印
将图片logo.png作为水印添加到out.mp4视频中,水印尺寸为86x62,在视频中的坐标位置是(500,300)
ffmpeg -i out.mp4 -vf "movie=logo.png,scale=86:62[mask];[in] [mask] overlay=500:300 [out]" mask.mp4
-vf:指定视频滤镜,movie是滤镜名字,后面是水印图片的路径
scale=86:62[mask]是水印显示的尺寸
overlay=500:300是水印在视频中的坐标。
4.删除水印
ffmpeg -i mask.mp4 -vf delogo=x=500:y=300:w=86:h=62 delmask.mp4
注意:水印删除后水印位置会变模糊
来源:https://www.cnblogs.com/MiYa0219/p/12085164.html