使用 Gstreamer 从二进制图像数据接收 Gstreamer 视频接收器



这个问题类似于图像数据中作为gstreamer中的源提出的问题

这是我的要求:
1.有一个二进制文件[将其视为任何扩展名],其中包含多个图像数据[例如一个二进制文件中的10个图像数据]
2.提取二进制文件,并将图像数据保存到窗口中的文件夹位置,以.jpg
3.对于视频显示,我使用了以下管道 gst-launch-1.0 multifilerc location=":/Images/%d.jpg" caps="image/jpeg,framerate=10/5" !叮��autovideoink
         **在图像文件夹下,存储了.jpg文件名从 1.jpg、2.jpg 等。%d 会将路径起始索引中的图像从 1 到值的最高计数 [连续编号的图像]

一切看起来都很好,直到这里。现在的要求是跳过步骤#2,即我们不需要将图像二进制数据转换为图像文件以存储在物理驱动器路径中。相反,我们正在寻找类似将从二进制文件中提取的二进制数据直接作为源垫传递到 GStreamer 管道的东西。这可能吗?如果是这样,我应该如何为管道编写源码?

原因 :二进制文件中有多达 32 GB 的数据 [这些是在二进制文件中压缩的网络摄像头图像],因此将这些数据再次保存为图像格式是驱动器中需要另外 32 GB 的空间 [并且这种情况一直在继续]。由于我们已经有了二进制格式的图像数据,我们需要一种机制将这些二进制数据[在C编程中以缓冲区的形式]直接传递给GStreamer管道源。

注意:gstreamer 1.0 用于 Windows 操作系统

第一个问题是为什么您不以视频文件格式保存视频数据 - 出于确切目的。

您可以使用appsrc编写 GStreamer 应用程序。然后,您必须像在应用程序中的步骤 2( 中一样解析数据,并通过appsrc将图像块馈送到jpegdec

你可以编写一个源元素,派生自 BaseSrc。

最新更新