【问题标题】:How can you read tracing messages within GStreamer from the C API?如何从 C API 读取 GStreamer 中的跟踪消息?
【发布时间】:2022-06-21 20:03:15
【问题描述】:

我想更深入地了解 GStreamer 管道(统计信息、资源使用情况)。我看到GStreamer tracing 可以做到这一点。但我找不到任何文档如何从 C API 启用和访问这些消息。

我假设我可以通过更改 C 代码中的环境变量 (GST_TRACERS) 来启用跟踪。但是我找不到任何关于如何从 C 代码中读取这些消息的信息。 GstMessage 结构似乎不支持跟踪消息。

谁能将我链接到 GStreamer 文档或检索特定类型跟踪所需的 GStreamer API 调用?将 GST_TRACERS 环境变量更改为 GST_TRACERS="meminfo" 是否也可以为 GStreamer C API 调用启用 meminfo 跟踪器(或者您是否需要从 C API 本身显式启用此功能)?

【问题讨论】:

    标签: c gstreamer gstreamer-1.0


    【解决方案1】:

    可以通过 GStreamer 中的调试 API 调用启用跟踪。可以使用以下命令启用调试:gst_debug_set_active(true)。可以使用以下方式启用跟踪日志记录:gst_debug_set_default_threshold(GST_LEVEL_TRACE)(或者您可以使用环境变量:GST_DEBUG=GST_TRACER:7 和 GST_TRACERS=rusage;latency;stats)。

    默认情况下,这些跟踪记录到标准输出。可以通过执行 API 调用来消除此行为: gst_debug_remove_log_function(gst_debug_log_default);(请参阅GST Info)。

    要在您自己的方法中获取这些消息,您应该使用函数 gst_debug_add_log_function(参见GST Info log function)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-22
      • 1970-01-01
      • 2016-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-28
      • 1970-01-01
      相关资源
      最近更新 更多