以 ffplay -i linmeimei.rm -vf “trim=duration=5[tmp], [tmp]reverse”
详细说明 avfilter的使用步骤, 内部架构,以及数据的流向.
第一步: 注册所有支持的Filters
avfilter_register_all();
注意: 内部有锁保护机制,多个线程同时调用时,外部不需要再加锁保护.
第二步: 创建 filtergraph 的上下文
简单代码如下:
AVFilterGraph *mFilterGraph = avfilter_graph_alloc(void);
图解如下:
注: 彩色部分为新增部分, 黑色部分为已存在部分,下同.
第三步:创建 filtergraph的输入输出filter, 即 buffer 和 buffersink
简单代码如下:
AVFilterContext* mFilterIn;
AVFilterContext* mFilterOut;
avfilter_graph_create_filter(&mFilterIn,
avfilter_get_by_name("buffer"),
"ffplay_buffer", buffersrc_args, NULL, mFilterGraph);
avfilter_graph_create_filter(&