首页 > 解决方案 > 如何修复`警告:错误的管道:没有元素“疯狂”`

问题描述

我正在运行 gstreamer 命令以使用以下命令从终端播放 mp3:

gst-launch-1.0 -v filesrc location=/home/user/songs/song.mp3 !疯狂的 !音频转换!音频重采样!自动音频接收器

我收到下面的错误并且 mp3 没有播放

警告:错误的管道:没有元素“疯狂”

我已经使用以下命令安装了 gstreamer 插件:

sudo apt-get install gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav

它们已成功安装,但错误仍然存​​在。

我还检查了是否使用 gst-inspect-1.0 将 mad 插件列入黑名单,并且未将其列入黑名单。

我已清除 ~/.cache/gstreamer-1.0/registry.*.bin。

以下命令在 ubuntu 18.04 中失败

gst-launch-1.0 -v filesrc location=/home/user/songs/song.mp3 !疯狂的 !音频转换!音频重采样!自动音频接收器

下面的命令有效,但我想使用“mad:但不是“decodebin”:

gst-launch-1.0 -v filesrc location=/home/user/songs/song.mp3 !解码器!音频转换!音频重采样!自动音频接收器

标签: pythoncgstreamer

解决方案


来自 GStreamer 的 1.12 插件删除变更日志:

mad mp1/mp2/mp3 解码器插件已从 gst-plugins-ugly 中删除,因为 libmad 是 GPL 许可的,已经很久没有维护了,并且有更好的替代品可用。使用 gst-plugins-ugly 中 mpg123 插件中的 mpg123audiodec 元素,或者使用包装 ffmpeg 库的 gst-libav 模块中的 avdec_mp3。我们预计我们将能够在下一个周期将 mp3 解码转移到 gst-plugins-good,因为大多数 mp3 相关的专利最近已经到期或即将到期。


推荐阅读