2016-06-13 12 views
1

Ich möchte die Puffer überwachen, die durch meine GStreamer-Pipelines laufen.GstBuffer-Flussüberwachung in der GStreamer-Pipeline

Zum Beispiel in der folgenden Pipeline: Ich möchte wissen, ob 1 Puffer (IE.GstBuffer) zwischen rtph264pay und udpsink fließen 1 Paket fließt auf meiner Ethernet-Schnittstelle.

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

Welches Werkzeug kann ich verwenden, um es herauszufinden? Muss ich in den Quellcode gehen, um die Antwort zu erhalten? Was wird die Antwort sein?

Antwort

1

Sie können die Debug-Kategorie GST_SCHEDULING verwenden, um den Datenfluss zu überwachen.

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

Dies wird ein Protokoll aller Puffer erzeugen, die ein Sinkpad erreichen. Sie können das udpsink sink pad filtern, um die gewünschten Informationen zu erhalten. Für die Netzwerkseite müssen Sie einen Netzwerkanalysator wie Wireshark verwenden. Sie sollten dann in der Lage sein zu vergleichen.

In der Praxis wird jeder lastenpflichtige Puffer 1 UDP-Paket darstellen, es sei denn, Ihre Netzwerk-MTU ist kleiner als das, was Sie für die Nutzlast konfiguriert haben (siehe mtu-Eigenschaft).