Ich versuche, einen Stream mit Python mit Arecord aufzunehmen und zu konvertieren.Background Process subprocess.Popen mit Pipe
In der Shell ist dies ein Befehl mehr oder weniger wie:
arecord -B 5000 -f dat | lame -m j -q 5 -V 2 - test.mp3 &
In Python Ich habe versucht, dies mit subprocess.Popen:
reccmd = ["arecord", "-B", "5000", "-f", "dat"]
mp3cmd = ["lame", "-m", "j", "-q", "5", "-V", "2", "-", "test.mp3"]
p = subprocess.Popen(reccmd, stdout=subprocess.PIPE)
p2 = subprocess.Popen(mp3cmd, stdin=p.stdout)
p2.communicate()
Aber ich weiß nicht, wie die einschließen „&“ oder etwas ähnliches in dem Code in der Lage sein, die Aufzeichnung mit einem
killall arecord
Befehl zu stoppen
Vielen Dank. Vergeudete Stunden versuchen einen Ausweg zu finden und manchmal ist die Antwort einfach so –