Evaluating use of GStreamer

bdiesel bruce.diesel at gmail.com
Tue Dec 19 11:03:41 UTC 2017


Good Day All,

I am working on a project that required embedding data received from sensors
on serial and I2C connections on a video, using a Raspberry Pi.  I
originally wrote a C++ application using OpenCV to do this, but after
looking at GStreamer, it appears to be more suited to my requirements.

I have spent a day trying to understand how to use the text overlay, but
have come to the conclusion that this requires timing information in order
to embed changing text (using the subtitle mechanism).  I have also tried
numerous work-arounds e.g. piping serial data to a udp port, piping to a
text file and tailing it etc, but have not been successful.

So, I am trying to decide whether I need to spend the time learning how to
write a plugin that takes data from a serial port, and from an I2C stream,
and embed it.  Looking at the learning curve, (GObject, glib, GStreamer etc)
I'm not convinced that I should just continue with my original C++ OpenCV
implementation.

The application that I need to do is as follows:
- Run a rolling window of 30 sec of video data captured from the camera.
- Embed data received over a serial port onto each video frame.
- Monitor a sensor on an I2C interface.  This data also needs to be embedded
on the video.
- When the value of the data on the I2C interface goes below a certain
threshold, trigger the recording of the video buffer, and continue recording
until 30sec after the trigger event.

In short, I am wanting to record the 30sec prior to a trigger event, along
with the 30sec after, whilst embedding text on the video.

I have a number of questions:
1. Is this achievable using standard unix pipes and standard GStreamer
plugins such as fdsrc and text overlay etc.
2. If not, Is it a significant effort to develop my own plugins for this? 
It appears that a plugin that can embed sensor data from a communication
port (udp, serial, I2C) whould be quite useful.  

I am happy to invest the time learning the toolkit, but I am concerned that
I would be biting off a lot.  I have plenty years C/C++ technical
development experience.

Apologies if such plugins already exist, I have spent numerous hours
searching for a solution.

Kind Regards,
  Bruce



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list