Reputation: 595
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
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