• ベストアンサー

ffmpegでプロンプト画面を表示させない方法

ウィンドウズ用のアプリを作ることを目的として、pyaudioを含むpythonで書いたスクリプトをpyinstallerでexe化し、ffmpeg.exeとffprobe.exeを同じ場所に置いています。 出来上がったpythonアプリは期待した通りの処理は行うのですが、ffmpegで処理を繰り返し行っているため、ウィンドウズのプロンプト画面が何度もちらちらと一瞬現れます。 このプロンプト画面を表示しないようにしたいのですが、どなたか対処法をご教示いただけますでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • dell_OK
  • ベストアンサー率13% (766/5721)
回答No.1

私の環境で試して成功した方法をお知らせします。 1.ffmpegの実行はsubprocess.runで、creationflags引数を付加する subprocess.run(r"ffmpeg.exe ~",creationflags=subprocess.CREATE_NO_WINDOW) 2.スクリプトのファイル拡張子を「.pyw」にする 3.pyinstallerでexeを作成する

kappa_chan
質問者

お礼

この度はありがとうございました。

kappa_chan
質問者

補足

ご教示ありがとうございます。 もう少しだけご教示いただけますでしょうか? ①サウンドファイルを読み込むAudioSegment.from_file() ➁サウンドファイルから部分的に抽出するsourceAudio[a:b] ③抽出したファイルを書き出すsound.export() 上記の3か所でコマンドプロンプトが立ち上がるため、ご教示いただいたsubprocess.run()をこれらの前に入れたり、後ろに入れたりしているのですが、上手く機能しません。 subprocess.run()が確実に走っていることは確認できております。 pyaudioの関数をどのようにからめて記述すれば良いかがわかれば解決すると思われます。 何卒よろしくお願いいたします。

関連するQ&A