【问题标题】:converting wav to mp3 (and vice versa) using GStreamer使用 GStreamer 将 wav 转换为 mp3(反之亦然)
【发布时间】:2010-01-31 14:24:37
【问题描述】:

我正在为 Gstreamer 使用 Python 绑定,并正在使用以下管道将 wav 文件转换为 mp3。我使用了in this question 的建议之一,并进行了一些修改(因为使用原始语法时出现了一些错误)

    gst.parse_launch("filesrc location=C:\\music.wav ! decodebin 
! audioconvert !  lame ! filesink location=C:\\music.mp3")

当我在 Python 中运行此代码时,我没有收到任何错误。但是,它不会生成 music.mp3 文件。

我还需要做什么才能创建一个新文件 music.mp3

【问题讨论】:

  • 您所指的问题是在他们对 parse_launch() 的讨论之后使用“[...],获取 filesrc 和 filesink 元素,并调用 setter 来更改输入和输出文件名。”我唯一能想到的另一件事是您没有为 lame 设置比特率,但我并不真正了解 GStreamer,所以也许您不必这样做。
  • 我尝试将比特率设置为 lame(如该示例中所示),但没有任何变化。我不知道他调用 setter 来更改输入和输出文件名是什么意思..

标签: python gstreamer


【解决方案1】:

您的管道是正确的 - 或者更具体地说,您选择的元素和属性是正确的。

问题很可能出在代码的另一部分。您是否将管道设置为 gst.STATE_PLAYING?

pipeline = gst.parse_launch("filesrc location=C:\\music.wav ! decodebin ! audioconvert !  lame ! filesink location=C:\\music.mp3")
pipeline.set_state(gst.STATE_PLAYING)

还有许多其他常见错误可能会发生 - 发布您的整个源代码会很有帮助!

【讨论】:

    【解决方案2】:

    如果你没有得到这个工作,我建议使用 ffmpeg 来转换你的文件,它非常高效和开源,你可以找到一个带有 WinFF 的编译 Windows 版本,你可以通过命令行进行操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-03
      • 2011-10-08
      • 2013-03-15
      • 2019-09-19
      • 2013-12-29
      • 2011-09-22
      • 2012-05-14
      相关资源
      最近更新 更多