我正在尝试将 ffmpeg 与 Python 的 subprocess 模块一起使用来转换一些音频文件。我从 URL 中获取音频文件,并希望能够将 Python 文件对象传递给 ffmpeg,而不是先将它们保存到磁盘。如果我可以只取回文件流而不是让 ffmpeg 将输出保存到文件中,那也很好。
作为参考,这就是我现在正在做的事情:
tmp = "/dev/shm"
audio_wav_file = requests.get(audio_url)
## ## ##
## This is what I don't want to have to do ##
wavfile = open(tmp+filename, 'wrb')
wavfile.write(audio_wav_file.content)
wavfile.close()
## ## ##
conversion = subprocess.Popen('ffmpeg -i "'+tmp+filename+'" -y "'+tmp+filename_noext+'.flac" 2>&1', shell = True, stdout = subprocess.PIPE).stdout.read()
有谁知道如何做到这一点?
谢谢!