在没有v4l2驱动程序的情况下运行gstreamer应用

时间:2018-09-10 17:33:09

标签: gstreamer

我想在Linux中不使用v4l2驱动程序来实现用于视频流的gstreamer管道。关键是我已经将视频帧保存在RAM中(由不同内核上的不同OS配置的vdma内核负责此工作)。而且,我在调试某些DMA从属错误时遇到了困难,这些错误总是在dma完成回调之后出现。

因此,如果我不必使用v4l2驱动程序以将gstreamer放在顶部,我会很高兴。

我从Bosch找到了适合我情况的插件:      https://github.com/igel-oss/v4l-gst

我的问题是,是否有人对此方法有经验,是否可行?

另一个问题是如何在gstreamer管道中配置源,因为它不是设备/ dev / videoxxx,而是内存位置甚至是bmp文件。

谢谢,三好田

1 个答案:

答案 0 :(得分:0)

您可以使用appsrc并反复呼叫gst_app_src_push_buffer ()。您的应用程序将可以自由地从喜欢的任何地方读取视频数据-内存,文件等。另请参见relevant section of the GStreamer Application Development Manual

如果您想要更大的灵活性,例如在多个应用程序中使用视频源,则应考虑使用implementing your own custom GStreamer element