Heim  >  Fragen und Antworten  >  Hauptteil

python – Wenn Sie ffmpeg zum Aufnehmen von Videos verwenden, kann der Vorgang nicht mit „Beenden“ beendet werden

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

曾经蜡笔没有小新曾经蜡笔没有小新2655 Tage vor1076

Antworte allen(1)Ich werde antworten

  • 扔个三星炸死你

    扔个三星炸死你2017-06-14 10:53:23

    额..刚才看到一个重复的问题, 那我就再复制下答案吧...

    试下直接用windows的命令去杀死吧

    kill_command = 'taskkill -f ffmpeg1.exe'
    cc=subprocess.Popen(kill_command ,shell=True)
    ....(自己补充)

    Antwort
    0
  • StornierenAntwort