[英]Why does it give warning when I run GStreamer application?
I can compile the first gstreamer tutorial found here . 我可以编译这里找到的第一个gstreamer教程。
However, when try to run it, I get a warning like this: 但是,当尝试运行它时,我收到如下警告:
(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
How can I solve the lame_set_VBR_quality
problem? 如何解决lame_set_VBR_quality
问题?
there are two unrelated problems reported in output: 输出中报告了两个不相关的问题:
on startup, gstreamer scans for available plugins and tries to load them. 在启动时,gstreamer会扫描可用的插件并尝试加载它们。 among these plugins is the file /usr/lib/gstreamer-0.10/libgstffmpeg.so
. 这些插件中的文件是/usr/lib/gstreamer-0.10/libgstffmpeg.so
。
it seems that you have installed incompatible libraries (eg your gstreamer "ffmpeg" plugin depends on a different version of libavcodec.so
), so the ffmpeg-plugin set cannot be loaded. 您似乎已经安装了不兼容的库(例如,您的gstreamer“ffmpeg”插件依赖于不同版本的libavcodec.so
),因此无法加载ffmpeg-plugin集。
the problem is not really related to gstreamer itself, but rather to the way how you installed those libraries. 这个问题与gstreamer本身并没有关系,而是与你安装这些库的方式有关。
since linux-distributions usually are all about resolving inter-package dependencies (so that you can never install a package "foo-2.0" that depends on "bar-0.4" if you only have "bar-0.1" installed), i guess that you have added some non-official unsupported 3rd-party repositories (eg on debian, a common source of headaches is the deb-multimedia repository; other distros will have others). 因为linux-distribution通常都是关于解决包间依赖关系(所以如果你只安装了“bar-0.1”,你永远不能安装依赖于“bar-0.4”的软件包“foo-2.0”),我猜你添加了一些非官方不受支持的第三方存储库(例如在debian上,头痛的常见来源是deb-multimedia存储库;其他发行版将有其他存储库)。
if all libraries installed are from the official repository of your distro, chances are that you hit a bug in the packaging and you should report the bug to the maintainers of the package(s) providing the faulty libraries. 如果安装的所有库都来自您的发行版的官方存储库,那么您可能会遇到包装中的错误,并且应该将错误报告给提供错误库的包的维护者。
the other "error" about jack not being able to start, is because the pipeline you are using uses the generic playbin2
element, which probes for available playback backends. 关于jack无法启动的另一个“错误”是因为你正在使用的管道使用通用的playbin2
元素,它探测可用的播放后端。 while doing so, it also tries to connect to a running jack -server, fails to do so and (hopefully) falls back to another available audio framework. 在这样做的同时,它还尝试连接到正在运行的插孔 - 服务器 ,未能这样做并且(希望)回到另一个可用的音频框架。
One additional comment on the audio side. 另外一个关于音频方面的评论。 Check whether something simple as gst-launch audiotestsrc ! 检查是否像gst-launch audiotestsrc一样简单! autoaudiosink works. autoaudiosink有效。 Try again with pulsesink or alsasink instead of autoaudiosink. 再次尝试使用pulseink或alsasink而不是autoaudiosink。 These 2 would be tried before considering jack. 在考虑杰克之前会尝试这两个。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.