Heim > Fragen und Antworten > Hauptteil
Ich möchte ffmpeg zum Aufnehmen von Videos verwenden, und das Timing wird automatisch beendet. Ich bin ein Anfänger und der Befehl ist nicht kompliziert. Ich verwende einfach subprocess.Popen, um den Befehl ffmpeng zu starten, das Video aufzunehmen und es als mp4 zu speichern Ich habe es unter cmd getestet und es gibt kein Problem mit dem Befehl, und der Test kann auch mit Python aufgezeichnet werden, aber das Problem ist, dass er nicht beendet werden kann. . Ich habe subprocess.kill verwendet, um den Prozess zu beenden, aber es beendete nur ffmpeg, das von cmd gestartet wurde, und ich weiß nicht, wie ich den von ihm generierten Prozess beenden soll. . .
cmd = '''ffmpeg1.exe -i "rtmp://123.123.123.132/live/tv22 live=1" -acodec libmp3lame -vcodec libx264 -y 3.mkv'''
cc=subprocess.Popen(cmd2,shell=True)
print(cc.pid)
time.sleep(15)
cc.terminate()
Sie können es nicht mit „Terminat“ oder „Kill“ beenden. Der generierte ffmpeg1.exe-Prozess kann nicht gestoppt werden.
Wenn es eine Beendigungsmethode gibt, die Strg+C imitiert, helfen Sie mir bitte später ping 127.0.0.1, ähnlich kann cmd beendet werden, aber ping.exe kann nicht beendet werden
扔个三星炸死你2017-06-14 10:53:23
额..刚才看到一个重复的问题, 那我就再复制下答案吧...
试下直接用windows
的命令去杀死吧
kill_command = 'taskkill -f ffmpeg1.exe'
cc=subprocess.Popen(kill_command ,shell=True)
....(自己补充)