专业网站制作公司/商丘搜索引擎优化
1、滤镜API使用方法
在代码中使用滤镜,主要分为两个步骤:
[1]. 滤镜的初始化配置:根据滤镜参数,配置生成滤镜图,此滤镜图供下一步骤使用
[2]. 使用滤镜处理原始音视频帧:向滤镜图提供输入帧(AVFrame),从滤镜图取出经处理后的输出帧(AVFrame)
1. init_filters() // 配置生成可用的滤镜图,由用户编写
2. av_buffersrc_add_frame_flags() // 向滤镜图提供输入帧,API函数
3. av_buffersink_get_frame() // 从滤镜图取出处理后的输出帧,API函数
3.1 滤镜配置
在代码中,滤镜配置比滤镜使用复杂,滤镜配置代码如下:
// 功能:创建配置一个滤镜图,在后续滤镜处理中,可以往此滤镜图输入数据并从滤镜图获得输出数据
// filters_descr:输入参数,形如“transpose=cclock,pad=iw+80:ih:40”
// @vfmt:输入参数,描述提供给待生成滤镜图的视频帧和格式
// @fctx:输出参数,返回生成滤镜图的信息,供调用者使用
int init_video_filters(const char *filters_descr, const input_vfmt_t *vfmt, filter_ctx_t *fctx)
{
int ret = 0;
// 1. 配置滤镜图输入端和输出端
// 分配一个滤镜图filter_graph