Ahresse
Ahresse

Reputation: 595

GstBuffer flow monitoring in GStreamer pipeline

I want to monitor buffers traveling through my GStreamer pipelines.

For example, in the following pipeline: I want to know if 1 buffer (ie.GstBuffer) flowing between rtph264pay and udpsink correspond to 1 packet streamed on my Ethernet interface.

gst-launch-1.0 filesrc ! x264enc ! rtph264pay ! udpsink

What tool can I use to figure it out? Do I have to go into source code to get the answer? What will be the answer?

Upvotes: 3

Views: 1525

Answers (1)

Nicolas
Nicolas

Reputation: 46

You can use GST_SCHEDULING debug category to monitor the data flow.

GST_DEBUG="*SCHED*:5" gst-launch-1.0 filesrc ! x264enc ! rtph264pay ! udpsink 2> gst.log

This will produce a log of every buffers that reaches a sink pad. You can filter the udpsink sink pad to obtain the information you want. For the network side, you'll need to use a network analyser, like Wireshark. You should then be able to compare.

In practice, each payloaded buffer will represent 1 UDP packet, unless your network MTU is smaller then what you have configured on the payload (see mtu property).

Upvotes: 3

Related Questions