如何为ffmpeg amix过滤器指定多个输入

时间:2016-11-28 17:01:09

标签: c ffmpeg

我正在努力将更多的音频与ffmpeg amix过滤器混合使用。我能够使用命令行实现这一点,但我希望通过ffmpeg API实现相同的功能。我已经通过示例filtering_audio但它只需要一个输入。谁能告诉我如何使用多个输入过滤器?我的目的是在第二次输入时有数据时用其他音频替换主音频。如果第二次输入没有数据,则过滤器应继续输入一次。

1 个答案:

答案 0 :(得分:0)

  1. 像往常一样使用avfilter_graph_alloc()分配avfilter图表。
  2. avfilter_graph_parse_ptr()avfilter_graph_parse2()创建过滤器图表。前者需要您手动创建AVFilterInOut链接列表。检查他们的文档here
  3. 我假设你知道如何解码帧中的音频输入。所以最后一件事就是将它们添加到自己的buffersrc中。与一个输入过滤器进程相同,但按顺序多次调用av_buffersrc_add_frame()
  4. 有一个example用中文写的。代码并不难理解,尽管其中一些代码需要对兼容性进行一些修复。

相关问题