ffmpeg入门篇-滤镜的基本使用

本文介绍了ffmpeg滤镜的使用,包括简单滤镜和复杂滤镜。简单滤镜如scale用于调整视频大小,复杂滤镜如nullsrc、crop、overlay则用于创建空视频、裁剪和叠加视频。通过实例展示了如何使用滤镜实现特定的视频处理需求,如等比例缩放、裁剪视频中间部分等。
摘要由CSDN通过智能技术生成

转发自白狼栈:查看原文

滤镜

什么是滤镜?百度百科介绍说“滤镜主要是用来实现图像的各种特殊效果......”。

我们最早在ffmpeg是如何转码的一文中了解过滤镜,来回顾下当时的转码流程图。

从图中可以看到滤镜前后画的是虚线,表示可有可无,在术语中,滤镜指的是在编码之前针对解码器解码出来的原始数据(即音视频帧)进行处理的动作,我们还可以称它为过滤器。

ffmpeg内置了大概近400种滤镜,我们可以用 ffmpeg -filters 命令查看所有的滤镜,也可以用命令 ffmpeg -h filter=xxx 或者查看官方文档了解每一种滤镜。

实际在大部分音视频的处理过程中都离不开滤镜,所以你应该能明白其重要性。

多个滤镜可以结合在一起使用形成滤镜链或者滤镜图,在每一个滤镜中,不仅可以对输入源进行处理,A滤镜处理好的结果还可以作为B滤镜的输入参数,通过B滤镜继续处理。

针对滤镜的处理,ffmpeg提供了两种处理方式,简单滤镜和复杂滤镜。

简单滤镜

简单滤镜指的是只有一个输入和输出,而且保证输入和输出的流类型相同。

比如我们在上篇文章流的操作(二)如何选择流?末尾提到的把原视频 r3.mp4 等比例缩放一倍

ffmpeg -i r3.mp4 -vf scale=272:480 -y filter.mp4

-vf 是 -filter:v 的简写,类似的我们还可以使用 -filter:a 或者 -af 针对音频流做处理。

-filter的语法规则:-filter[:stream_specifier] filtergraph ( output,per-stream)
stream_specifier流的类型我们一般用a表示音频,v表示视频,filtergraph表示具体的滤镜,这里用的是 scale滤镜

scale滤镜用于调整视频的大小,比如等比例缩放、等比例放大,不做等比例操作输出就变形了,变形结果我们一般不考虑。

因为我们知道原视频 r1ori.mp4 的分辨率是 544x960ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值