Maison  >  Questions et réponses  >  le corps du texte

python - En utilisant ffmpeg pour capturer une vidéo, le processus ne peut pas être terminé avec Terminer

Je souhaite utiliser ffmpeg pour capturer une vidéo, et le minuteur se terminera automatiquement. Je suis un novice et la commande n'est pas compliquée. J'utilise simplement subprocess.Popen pour démarrer la commande ffmpeng, capturer la vidéo et l'enregistrer au format mp4. . Je l'ai testé sous cmd et il n'y a aucun problème avec la commande, et le test peut également être enregistré en utilisant python, mais le problème est qu'il ne peut pas être terminé. . J'ai utilisé subprocess.kill pour terminer le processus, mais cela n'a mis fin qu'à cmd. ffmpeg démarré par cmd a toujours continué à fonctionner. Je ne sais pas comment terminer le processus qu'il a généré. . .

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()

Vous ne pouvez pas le terminer avec termat ou kill. Vous pouvez uniquement terminer le processus cmd. Le processus ffmpeg1.exe généré ne peut pas être arrêté
S'il existe une méthode de terminaison qui imite ctrl+c, veuillez m'aider. plus tard, ping 127.0.0.1, de la même manière, cmd peut être terminé, mais ping.exe ne peut pas être terminé

曾经蜡笔没有小新曾经蜡笔没有小新2655 Il y a quelques jours1075

répondre à tous(1)je répondrai

  • 扔个三星炸死你

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

    Euh... Je viens de voir une question en double, je vais donc copier la réponse...

    Essayez d'utiliser la commande windows pour tuer directement

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

    répondre
    0
  • Annulerrépondre