The Question is similar to what is asked in image data as source in gstreamer
Here is what my requirement :
1. There is a binary file[consider it as any extension] which contains multiple image data [say 10 image data in one binary file]
2. The binary file is extracted and the image data(s) are saved to a folder location in windows as .jpg
3. For video display I used the below pipeline
gst-launch-1.0 multifilesrc location=":/Images/%d.jpg" caps="image/jpeg,framerate=10/5" ! jpegdec ! autovideosink
** Under Images folder, there are .jpg files stored with names starting from 1.jpg, 2.jpg etc.. . The %d would take the images from the path starting index from 1 to the highest count of value [continuously numbered images]
Everything looks fine till here. Now the requirement is to skip the step #2, i.e we don't need to convert the image binary data to be stored in a physical drive path as image files. Instead, we are looking for something like passing the binary data that is extracted from the binary file directly as a source pad to the GStreamer pipeline. Is this possible ? If so, how should I write the source pad for the pipeline ?
Reason : There are as much as 32 GB data in the binary file [these are webcam images compressed in binary file ], so saving these data again to image format is another 32 GB space required in the drive [and this goes on and on]. Since we already have the image data in binary format, we need a mechanism to pass these binary data [in the form of buffer in C programming] directly to GStreamer pipeline source.
Note : gstreamer 1.0 is used in windows OS
First question would be why you are not saving video data in a video file format - for that exact purpose..
You can write a GStreamer application with an appsrc
. You would then have to parse the data as you do in step 2) in your application and feed the image chunks via appsrc
to the jpegdec
.