【发布时间】:2014-04-18 10:50:13
【问题描述】:
我正在尝试使用 ffmpeg 将 Python 中的 mp3 文件即时转换为 wav 文件。
我使用子进程调用它,我怎样才能得到它的输出以即时播放它作为 wav 而不将其保存为文件(或在转换时播放它)然后播放它?
这是我目前所拥有的:
我以 aplay 为例。
FileLocation = "/home/file.mp3"
subprocess.call(["ffmpeg", "-i", FileLocation etc etc "newfail.wav"])
os.system("aplay ... ") #play it on the fly here
据我了解,如果我将“-”作为文件名,它会将其输出到stdout,但我不知道如何读取stdout...
【问题讨论】:
-
为什么不直接播放mp3文件呢?您要播放文件并将其保存到磁盘吗?你有接受标准输入的音频播放器吗?
-
我想直接将它发送到另一个音频播放器(也使用子进程)并且它只支持 wav 文件,我只是发现动态执行它而不是转换所有内容然后播放 wav 文件更方便(s)。我发送 avi 文件的播放器确实支持标准输入。
标签: python linux ffmpeg subprocess