如何使用 gstreamer 将 AAC 音频 mp4 转换为 mp3

How do I convert an AAC audio mp4 to mp3 using gstreamer

我想从 mp4 容器中提取 AAC 音轨并将其编码为恒定速率 mp3,以便在我的一些无法播放 mp4 或可变比特率 mp3 的旧音频设备上播放。我似乎无法正确处理管道,它总是以可变速率出现。另外,有没有更好的方法来做到这一点?这是我的。

gst-launch filesrc location=/path/to/file.mp4 ! qtdemux name=demux \
demux. ! queue ! faad ! lamemp3enc quality=2 bitrate=192 cbr=true \
! id3v2mux ! filesink location=/path/to/file.mp3

除非您指定目标,否则比特率不会生效。您应该将 target=bitrate 添加到您的管道中。

gst-launch filesrc location=/path/to/file.mp4 ! qtdemux name=demux \
demux. ! queue ! faad ! lamemp3enc quality=2 target=bitrate bitrate=192 cbr=true \
! id3v2mux ! filesink location=/path/to/file.mp3