Wyłączenie procesu ffmpeg.exe.

0
t = threading.Thread(target=Play())
 t.daemon = True
t.start()
t.join()

def Play():
command = 'ffmpeg.exe  -user-agent "' + UA + '"  -i "' + link + '" -acodec copy -vcodec copy -f mpegts pipe:| "'+ config.player + '"  -'

CREATE_NO_WINDOW = 0x08000000
subprocess.call(command,shell=True,creationflags=CREATE_NO_WINDOW)

ffmpeg działa w ten sposób, że po jamiś czasie uruchamia odtwarzacz. Jak zrobić, aby po wyłączeniu dtwarzacza wyłączyć ffmpeg? A najlepiej cały wątek.

0
t.daemon = True
t.start()
t.join()

Ogólnie joinowanie daemonów to nie jest dobra praktyka. Da się, ale cały cel daemonów to właśnie to, że oznaczasz je jako takie, żeby nie martwić się ich joinowaniem, a program jak się kończy, to ubija też daemony.

ffmpeg działa w ten sposób, że po jamiś czasie uruchamia odtwarzacz. Jak zrobić, aby po wyłączeniu dtwarzacza wyłączyć ffmpeg?

Zamiast subprocess.call użyj subprocess.Popen, a potem użyj na otwartym procesie metody .kill().

1 użytkowników online, w tym zalogowanych: 0, gości: 1