在Python中使用ffmpeg实时转换mp3为wav
我想在Python中使用ffmpeg实时将mp3文件转换成wav文件。
我通过subprocess来调用它,想知道怎么才能在不保存为文件的情况下,直接播放转换后的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),但我不知道怎么读取标准输出……
1 个回答
1
要在没有命令行的情况下模拟 source arg1 arg2 | sink
这个命令:
from subprocess import Popen, PIPE
source = Popen(['source', 'arg1', 'arg2'], stdout=PIPE)
sink = Popen(['sink'], stdin=source.stdout)
source.stdout.close()
source.wait()
sink.wait()