如何在c中使用Gstream管道将PCM文件编码为MP3或AC3

时间:2017-01-27 06:24:00

标签: gstreamer

我已经使用PCM文件格式的alsa录制了一个音频文件,并尝试使用Linux终端中的Gstream管道以WAv文件格式对其进行编码,但我收到警告信息,如警告:

erroneous pipeline: no element "audioconvert"

我使用的命令是

--gst-launch filesrc location=file.pcm ! audio/x-raw-int, rate=8000, channels=1, endianness=4321, width=16, depth=16, signed=true ! audioconvert ! audio/x-raw-int, rate=8000, channels=1, endianness=1234, width=16, depth=16, signed=true ! wavenc ! filesink location=file.wav

1 个答案:

答案 0 :(得分:0)

如果您仍然收到错误消息,则说明audioconvert插件安装不正确。为了验证管道是否正确,我使用以下piplines成功模拟了您的任务。考虑将标题更改为代表错误消息的内容而不是特定的编码任务,因为pipline正常。

复制原始音频文件

gst-launch audiotestsrc num-buffers=100 \
! audio/x-raw-int, rate=8000, channels=1, endianness=1234, width=16, depth=16, signed=true \
! audioconvert \
! audio/x-raw-int, rate=8000, channels=1, endianness=4321, width=16, depth=16, signed=true \
! filesink location=foo.pcm

..将其编码为WAV

gst-launch filesrc location=foo.pcm \
! audio/x-raw-int, rate=8000, channels=1, endianness=4321, width=16, depth=16, signed=true \
! audioconvert \
! audio/x-raw-int, rate=8000, channels=1, endianness=1234, width=16, depth=16, signed=true \
! wavenc \
! filesink location=foo.wav