26

如何查看 GST_CAT_INFO、GST_DEBUG 等函数的输出?我需要自己编译 gstreamer 并设置调试级别还是可以在应用程序级别完成?

4

5 回答 5

33

可以使用 GST_DEBUG 环境变量在 stderr 中打印调试消息(如果 gstreamer 已使用 --enable-gst-debug 编译,这是默认设置)。

例如:GST_DEBUG=audiotestsrc:5 gst-launch audiotestsrc ! fakesink将记录来自 audiotestsrc 元素的所有内容 (5)。

您可以使用在运行时更改程序调试输出setenv("GST_DEBUG","cat:level...", 1)

有时阅读 GStreamer 调试可能很乏味。你可以试试gst-debug-viewer 。

您可以阅读文档了解其他详细信息。

于 2010-07-21T18:49:26.720 回答
15

要显示所有类别的调试信息,请使用类似

export GST_DEBUG="*:6"

在运行您的命令之前。

于 2014-10-07T15:53:08.237 回答
7

当前文档在这里。在我看来,一些有趣的摘录:

'*'通配符也可用。例如GST_DEBUG=2,audio*:5,将对所有以单词开头的类别使用调试级别 5,对所有其他类别使用audio2。

用于gst-launch-1.0 --gst-debug-help获取所有已注册类别的列表。

GStreamer 具有输出图形文件的能力。例子

调试级别为:

| # | Name    | Description                                                    |
|---|---------|----------------------------------------------------------------|
| 0 | none    | No debug information is output.                                |
| 1 | ERROR   | Logs all fatal errors. These are errors that do not allow the  |
|   |         | core or elements to perform the requested action. The          |
|   |         | application can still recover if programmed to handle the      |
|   |         | conditions that triggered the error.                           |
| 2 | WARNING | Logs all warnings. Typically these are non-fatal, but          |
|   |         | user-visible problems are expected to happen.                  |
| 3 | FIXME   | Logs all "fixme" messages. Those typically that a codepath that|
|   |         | is known to be incomplete has been triggered. It may work in   |
|   |         | most cases, but may cause problems in specific instances.      |
| 4 | INFO    | Logs all informational messages. These are typically used for  |
|   |         | events in the system that only happen once, or are important   |
|   |         | and rare enough to be logged at this level.                    |
| 5 | DEBUG   | Logs all debug messages. These are general debug messages for  |
|   |         | events that happen only a limited number of times during an    |
|   |         | object's lifetime; these include setup, teardown, change of    |
|   |         | parameters, etc.                                               |
| 6 | LOG     | Logs all log messages. These are messages for events that      |
|   |         | happen repeatedly during an object's lifetime; these include   |
|   |         | streaming and steady-state conditions. This is used for log    |
|   |         | messages that happen on every buffer in an element for example.|
| 7 | TRACE   | Logs all trace messages. Those are message that happen very    |
|   |         | very often. This is for example is each time the reference     |
|   |         | count of a GstMiniObject, such as a GstBuffer or GstEvent, is  |
|   |         | modified.                                                      |
| 8 | MEMDUMP | Logs all memory dump messages. This is the heaviest logging and|
|   |         | may include dumping the content of blocks of memory.           |
+------------------------------------------------------------------------------+
于 2019-05-13T08:22:32.380 回答
1

我添加了调试级别:

gst-debug-level=4 {0->7}

它无需再次构建 gstreamer 即可工作

于 2017-08-28T04:32:45.867 回答
0

除了所有这些正确答案之外,我还想指出这个图形工具来简化 Gstreamer 调试分析:

https://developer.ridgerun.com/wiki/index.php?title=How_to_Use_Gstreamer_Debug_Viewer

于 2020-07-17T20:27:28.743 回答