将图像推入gstreamer管道

rod*_*gob 6 c++ video image gstreamer

在玩了一些玩具应用程序,浏览文档和谷歌搜索(包括邮件列表档案)后,我仍然对我认为是一个相当常见的用例感到困惑.

我有一个现有的代码生成图像(在内存中),我想将这些图像推送到gstreamer管道(最后创建一个flv视频).

我找不到"显而易见的方法".我最好的猜测是挖掘GstMultiFileSrc的源代码及其父GstPushSrc来解决它.

你们中的任何人都可以指出我这样做的"显而易见的方式"吗?是否有相关的文档/教程/示例?

一旦我输入正确,剩下的就是小菜一碟,感谢Gstreamer非常棒!(类似"我的魔法输入 - > ffmpegcolorspace!ffenc_flv!flvmux!filesink location = desktop.flv")

谢谢你的回答.

nob*_*bar 7

GStreamer使用插件来完成所有事情.创建数据或从外部源获取数据的插件称为"src"插件.

用于将应用程序生成的数据注入管道的通用src插件称为appsrc.appsrc提供的API记录为App Library的一部分.

这是一个示例,演示如何为生成的图像提供apprc:gdk-gstappsrc-stream.c.它似乎是从GStreamer源代码树中的一些测试代码派生出来的:这里.

另一种方法是创建自己的src插件.查看goom音乐可视化插件,以获得与您指定的方式类似的示例.