Linux 为什么在我运行GStreamer应用程序时它会发出警告?

Linux 为什么在我运行GStreamer应用程序时它会发出警告?,linux,gstreamer,Linux,Gstreamer,我可以编译找到的第一个gstreamer教程 但是,当尝试运行它时,我会收到如下警告: (basic-tutorial-1:27661): GStreamer-WARNING **: Failed to load plugin '/usr/lib/gstreamer-0.10/libgstffmpeg.so': /usr/lib/x86_64-linux-gnu/libavcodec.so.53: undefined symbol: lame_set_VBR_quality Cannot con

我可以编译找到的第一个gstreamer教程

但是,当尝试运行它时,我会收到如下警告:

(basic-tutorial-1:27661): GStreamer-WARNING **: Failed to load plugin '/usr/lib/gstreamer-0.10/libgstffmpeg.so': /usr/lib/x86_64-linux-gnu/libavcodec.so.53: undefined symbol: lame_set_VBR_quality
Cannot connect to server socket err = No such file or directory
Cannot connect to server socket
jack server is not running or cannot be started

如何解决
lame\u set\u VBR\u质量问题?
输出中报告了两个不相关的问题:

gstffmpeg 启动时,gstreamer扫描可用插件并尝试加载它们。 这些插件中有文件
/usr/lib/gstreamer-0.10/libgstffmpeg.so

您似乎安装了不兼容的库(例如,您的gstreamer“ffmpeg”插件依赖于不同版本的
libavcodec.so
),因此无法加载ffmpeg插件集

这个问题实际上与gstreamer本身无关,而是与您安装这些库的方式有关

由于linux发行版通常都是关于解决软件包之间的依赖关系(因此,如果您只安装了“bar-0.1”,则永远无法安装依赖于“bar-0.4”的软件包“foo-2.0”),我猜您添加了一些非官方的不受支持的第三方存储库(例如,在debian上,一个常见的头痛问题是deb多媒体存储库;其他发行版也会有其他版本)

如果安装的所有库都来自发行版的官方存储库,那么很可能您在包中遇到了错误,您应该向提供错误库的包的维护人员报告该错误

杰克
另一个关于jack无法启动的“错误”是因为您正在使用的管道使用了通用的
playbin2
元素,该元素探测可用的播放后端。在这样做的同时,它还尝试连接到正在运行的服务器,但失败(希望如此)返回到另一个可用的音频框架。

在音频端添加一条附加注释。检查gst launch audiotestsrc!autoaudiosink等简单功能是否有效。请使用pulsesink或alsasink而不是autoaudiosink重试。在考虑jack之前,将尝试这两个功能