Rumah > Soal Jawab > teks badan
Saya mahu menggunakan ffmpeg untuk menangkap video, dan pemasa akan tamat secara automatik, dan arahan itu tidak rumit. Saya hanya menggunakan subproses.Popen untuk memulakan arahan ffmpeng, menangkap video dan menyimpannya sebagai mp4 . Saya telah mengujinya di bawah cmd dan tidak ada masalah dengan arahan , dan ujian juga boleh direkodkan menggunakan python, tetapi masalahnya ialah ia tidak boleh ditamatkan. . Saya menggunakan subprocess.kill untuk menamatkan proses, tetapi ia hanya menamatkan cmd yang dimulakan oleh cmd. Saya tidak tahu bagaimana untuk menamatkan proses yang dihasilkan. . .
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()
Anda tidak boleh menamatkannya dengan terminat atau kill Anda hanya boleh menamatkan proses ffmpeg1.exe yang dihasilkan tidak boleh dihentikan
Jika ada kaedah penamatan yang meniru ctrl+c, sila bantu kemudian ping 127.0.0.1, cmd yang sama boleh ditamatkan, tetapi ping.exe tidak boleh ditamatkan
扔个三星炸死你2017-06-14 10:53:23
Um... Saya baru nampak soalan pendua, jadi saya akan salin jawapannya...
Cuba gunakan arahan windows
untuk membunuh secara terus
kill_command = 'taskkill -f ffmpeg1.exe'
cc=subprocess.Popen(kill_command ,shell=True)
....(自己补充)