Среда
- Ubuntu 18.04
- C ++
- ffmpeg 3.4 (мастер git)
- ffmpeg используется в качестве общей библиотеки (InProc)через C ++ API
сценарий использования
- на эту ссылку Я пытаюсь использовать API-интерфейсы 'avfilter_graph_ *' для создания графа ffmpeg
- Я бы хотел, чтобы вывод графика был отправлен в мой пользовательский код (часть хост-приложения)
Рассмотренные реализации
- [A] Реализациянастраиваемый фильтр приемников (часть libavfilter) для реализации моей пользовательской логики
- [B] Реализация настраиваемого фильтра приемников для сбора выходных выборок и отправки их в мое приложение (что-то похожее на DShow SampleGrabber)
Проблема под рукой
При любом из вышеперечисленных подходов код ffmpeg должен быть изменен, и это накладывает накладные расходы на поддержку будущих выпусков ffmpeg
Интересно, есть лилюбой прямой подход к расширениюrnal (хостинг) приложение для захвата вывода графика с минимальным копированием полезной нагрузки.
Есть ли способ использовать собственный AVIOContext для этого?я могу построить график, связанный с выходом AVIOContext?Могу ли я создать собственный фильтр, реализованный в модуле , внешнем по отношению к libavfilter , и связать его с графиком, используя AVFilterContext?