You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GStreamer:将audio/mpeg转换为audio/x-raw需使用哪些元素?

能将audio/mpeg转换为audio/x-raw的GStreamer元素

针对你的需求(从MPEG/TS流提取音频并保存为WAV),以下几个GStreamer元素可以完成audio/mpeg到audio/x-raw的转换:

  • mad:一款轻量高效的MPEG音频解码器,支持解码MP1、MP2和MP3格式,输出原始PCM音频(audio/x-raw)。它是GStreamer基础插件包的一部分,通常默认安装。
  • mpg123dec:基于mpg123库的解码器,功能和mad类似,同样支持MPEG音频解码到raw格式,兼容性也不错。
  • avdec_mp2:属于gstreamer-libav插件(封装FFmpeg解码器),专门针对MP2格式的解码,如果你已经安装了libav相关插件,这个元素也能胜任。

修改后的完整管道示例

结合你现有的命令,我们可以添加解码器和WAV编码元素,直接将TS流中的音频保存为WAV文件:

gst-launch-1.0 udpsrc port=1235 caps="application/x-rtp" ! rtpjitterbuffer ! rtpmp2tdepay ! tsdemux program-number=4352 ! mpegaudioparse ! queue ! mad ! audioconvert ! audioresample ! wavenc ! filesink location=audio.wav

关键新增部分解释:

  • mad:负责将audio/mpeg格式的MP2音频解码为audio/x-raw的PCM数据。
  • audioconvert:确保音频格式、通道数等参数符合后续编码的要求,是GStreamer管道中处理音频时常用的适配元素。
  • audioresample:如果需要调整采样率,这个元素会自动处理,保证输出到wavenc的音频参数正确。
  • wavenc:将原始PCM音频编码为WAV格式。

你也可以把mad替换成mpg123dec或avdec_mp2,效果基本一致,比如:

gst-launch-1.0 udpsrc port=1235 caps="application/x-rtp" ! rtpjitterbuffer ! rtpmp2tdepay ! tsdemux program-number=4352 ! mpegaudioparse ! queue ! mpg123dec ! audioconvert ! audioresample ! wavenc ! filesink location=audio.wav

内容的提问来源于stack exchange,提问作者Bruce Adams

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:48:24