在尝试了一些玩具应用程序之后,探索 文档和谷歌搜索(包括邮件列表 文件)我仍然对我认为相当普遍的事情感到困惑 用例。
我有一个生成图像(在内存中)的现有代码,我会 喜欢将这些图像推送到 gstreamer 管道中(以创建 flv 视频在最后)。
我找不到“显而易见的方法”。我最好的猜测是 挖掘 GstMultiFileSrc 及其父 GstPushSrc 的源代码, 弄清楚。
你们中的任何人都可以指出执行此操作的“显而易见的方法”吗? 是否有任何相关的文档/教程/示例?
一旦我输入正确,剩下的就是小菜一碟,感谢 Gstreamer 真棒! (类似于“我的魔法输入 -> ffmpegcolorspace!ffenc_flv! flvmux ! filesink location=desktop.flv")
感谢您的回答。
最佳答案
GStreamer 使用插件来做所有事情。创建数据或从外部源获取数据的插件称为“src”插件。
用于将应用程序生成的数据注入(inject)管道的通用 src 插件称为 appsrc . appsrc 提供的 API 被记录为 App Library 的一部分.
这是一个示例,演示了将生成的图像提供给 appsrc:gdk-gstappsrc-stream.c .它似乎源自 GStreamer 源代码树中的一些测试代码:here .
另一种方法是创建您自己的 src 插件。看goom音乐可视化插件的示例,其工作方式与您指定的类似。
关于c++ - 将图像插入 gstreamer 管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5314562/