I want to stream GPS data from Jetson Orin

Good day!

So I have a simple and difficult question for me. I am getting data from a GPS sensor and camera that is connected to the Jetson Orin. I want to process the data and send it to the client. I understand how to work with video data through gstreamer.

Now I am trying to develop a pipeline to handle GPS data. Right now it looks like the following and it does not work:

gst-launch-1.0 fakesrc num-buffers=10 is-live=true ! application/x-raw,format=RGB,width=3,height=1,framerate=30/1 ! queue ! identity silent=false ! capsfilter caps=application/x-raw,format=RGB,width=3,height=1,framerate=30/1 ! rtpgstpay ! udpsink host=127.0.0.1 port=5000

What to do? Please help me.

It might help if you explain why you are trying to do it, to get a better recommendation.

For example, are you trying to do something per-frame? Or is this per-stream? Or some hybrid like higher or lower than frame rate? Or are you trying to do this with no video or audio at all?

When you say “process the data”, how does that relate to your stream?

We are developing a system that can be used for forest monitoring.The system has two data streams, a stream from a camera and a stream from a GPS sensor. I want to send these two data streams to the client, or encode the GPS data into frames.

You could use an SEI to put it into the frame (for H.264 or H.265). There are several topics discussing using User Defined Unregistered SEI which is probably appropriate.

If you do want two streams, you’d probably want to mux them together (e.g. DASH or rtpmux). I’m not sure of the best way for your case - someone else might be able to help.

Currently I implemented the following pipeline:

gst-launch-1.0  -e \
queue !\
rtpmux name=mux !\
udpsink  host=127.0.0.1 port=5000 \
\
filesrc location=OutputVideo1920p_yuv420p.mp4 !\
    decodebin !\
    nvvidconv !\
    queue !\
    x264enc  speed-preset=superfast ! \
    queue !\
    rtph264pay  pt=96 ! \
    mux.sink_0 \
\
filesrc location=OutputVideo1920p_yuv420p.srt !\
    subparse !\
    queue !\
    rtpgstpay pt=98 !\
    mux.sink_1

And it doesn’t work properly. I see that it works two times.

Please help me to correct the pipeline.