python - 如何修复`警告:错误的管道:没有元素“疯狂”`
问题描述
我正在运行 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 !解码器!音频转换!音频重采样!自动音频接收器
解决方案
来自 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 相关的专利最近已经到期或即将到期。
推荐阅读
- flutter - 新的 Flutter 项目未在 VS Code 中打开
- python - 将图形界面相互叠加
- python - 如何从 Python 调用 Rust 异步方法?
- c# - 如何在 SQLite 中使用“A 类”创建表并将“B 类”的属性作为列?
- javascript - 如何将样式化组件导出到一个文件中?
- laravel - laravel 使用推送梁发送通知
- python - 在执行时间序列分析时,将字符串转换为日期时间时出现错误日期时间
- mysql - 如何优化mysql的全文搜索以匹配'C++'之类的字符串
- powershell - 在 windows 10 powershell 中编辑 git commit 消息时,gvim 8.2 不会重绘屏幕
- spring-cloud-sleuth - 我如何在 Spring Boot 2 中使用 Sleuth Span