如何查看GST_CAT_INFO,GST_DEBUG等函数的输出? 我是否需要使用调试级别集自行编译gstreamer,或者可以在应用程序级别完成?
答案 0 :(得分:26)
可以使用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。
您可以阅读Documentation了解其他详细信息。
答案 1 :(得分:5)
要显示所有类别的调试信息,请使用类似
的内容 export GST_DEBUG="*:6"
在运行命令之前。
答案 2 :(得分:1)
当前文档为here。我认为一些有趣的摘录:
'*'
通配符也可用。例如,GST_DEBUG=2,audio*:5
将对所有以单词audio
开头的类别使用Debug Level 5,对所有其他类别使用Debug Level 5。
使用gst-launch-1.0 --gst-debug-help
获取所有已注册类别的列表。
GStreamer能够输出图形文件。 Example。
调试级别为:
| # | 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. | +------------------------------------------------------------------------------+
答案 3 :(得分:0)
我添加了调试级别:
gst-debug-level=4 {0->7}
它没有构建gstreamer再次工作
答案 4 :(得分:0)
除了所有这些正确答案之外,我还要指向此图形工具以简化Gstreamer调试分析:
https://developer.ridgerun.com/wiki/index.php?title=How_to_Use_Gstreamer_Debug_Viewer