Próbuję użyć ffmpeg z modułem podprocesu Pythona do konwersji niektórych plików audio. Pobieram pliki audio z adresu URL i chcę po prostu móc przekazywać obiekty plików Pythona do ffmpeg, zamiast najpierw zapisywać je na dysku. Byłoby również bardzo miłe, gdybym mógł po prostu odzyskać strumień plików, zamiast mieć ffmpeg zapisywać dane wyjściowe do pliku.Jak korzystać z ffmpeg z Pythonem, przekazując Obiekty plików (zamiast lokalizacji do plików na dysku)
Dla porównania, jest to, co robię teraz:
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()
Czy ktoś wie jak to zrobić?
Dzięki!