环境
- Ubuntu 18.04
- C ++
- ffmpeg 3.4(git主版)
- ffmpeg通过C ++ API用作共享库(InProc)
用例
- 每个this link我正在尝试使用'avfilter_graph_ *'API创建ffmpeg图
- 我希望将图形输出发送到我的自定义代码(托管应用程序的一部分)
考虑的实现
- [A]实现一个自定义接收器过滤器(libavfilter的一部分)以实现我的自定义逻辑
- [B]实现一个自定义接收器过滤器,以获取输出样本并将其发送到我的应用程序(类似于DShow SampleGrabber)
眼前的问题
使用上述任何一种方法都必须修改ffmpeg代码,这会在支持将来的ffmpeg版本时增加开销
我想知道对于外部(托管)应用程序,是否有任何简单的方法来获取图形输出(带有有效负载的最小复制量)。
有什么方法可以使用自定义的AVIOContext来实现?如何构造连接到输出AVIOContext的图?我如何创建在libavfilter外部模块中实现的自定义过滤器,并使用'AVFilterContext'将其与图形相关联?