0
ffmpegがいつ終了したかを知る方法が必要です。ここに私ですcode:Pythonのサブプロセス:コマンドが終了したときを知る
def on_button_clicked(self, button, progress_bar, filename):
self.execute(progress_bar, filename)
progress_bar.set_text('Encoding')
progress_bar.pulse()
def execute(self, progress_bar, filename):
cmd = ['ffmpeg', '-y',
'-i', filename,
'-r', '30',
'/tmp/test-encode.mkv']
process = sp.Popen(cmd, stdin=open(os.devnull))
progress_bar.set_text('Done')
'完了'は決して表示されません。しかし、仕事は終わった。私はffmpegが完了したことをシェルウィンドウで見ることができます。私はどのようにシグナルを得ることができますか?
は本当に '' STDIN =オープン(os.devnull)であります必要? ffmpegはkbd入力を必要としませんか?したがって、 'stdin'をリダイレクトする本当の理由はありません。私は 'Popen'(おそらく私のせい)でいくつかの問題を抱えていて、' check_output'のようなもっと単純なバージョンを好んでいます。 – jcoppens
はい、あります。実行すると、ffmpegはキーボードをリッスンします。具体的には "q"がプロセスを中止します。それを無効にすることは傷つけません。 – yPhil