Ich möchte Python zum Aufnehmen von Videos verwenden und es dann automatisch zu einem festgelegten Zeitpunkt beenden. Der Befehl ist nicht kompliziert Der Befehl ffmpeng, um das Video aufzunehmen und als mp4 zu speichern, wurde getestet und es gibt kein Problem. Der Test kann auch mit Python aufgezeichnet werden. 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()
Die Verwendung von „Terminat“ oder „Kill“ kann nur den vom Unterprozess generierten Prozess „ffmpeg1.exe“ beenden.
Wenn es eine Beendigungsmethode gibt, die Strg+C imitiert. Bitte helfen Sie mir. Bitte helfen Sie,
Ich habe Ping 127.0.0.1 später getestet und derselbe Befehl kann beendet werden, aber ping.exe kann nicht beendet werden
其实你自身都已经得出结果, 当你杀掉
subprocess.Popen
只能杀死cmd
, 却不能杀死ffmpeg1
, 所以试下直接用windows
的命令去杀死吧