我想监控通过GStreamer管道传输的缓冲区。
例如,在以下管道中:我想知道在rtph264pay和udpsink之间流动的1个缓冲区(即.GstBuffer)是否对应于在我的以太网接口上流传输的1个数据包。
gst-launch-1.0 filesrc ! x264enc ! rtph264pay ! udpsink
我可以用什么工具来搞清楚?我是否必须进入源代码才能得到答案?会是什么答案?
答案 0 :(得分:1)
您可以使用GST_SCHEDULING调试类别来监控数据流。
GST_DEBUG="*SCHED*:5" gst-launch-1.0 filesrc ! x264enc ! rtph264pay ! udpsink 2> gst.log
这将生成到达接收器的每个缓冲区的日志。您可以过滤udpsink接收器垫以获取所需的信息。对于网络方面,您需要使用网络分析器,如Wireshark。然后你应该能够进行比较。
实际上,每个付费缓冲区将代表1个UDP数据包,除非您的网络MTU小于您在有效负载上配置的数量(参见mtu属性)。