- ベストアンサー
ffmpegでプロンプト画面を表示させない方法
ウィンドウズ用のアプリを作ることを目的として、pyaudioを含むpythonで書いたスクリプトをpyinstallerでexe化し、ffmpeg.exeとffprobe.exeを同じ場所に置いています。 出来上がったpythonアプリは期待した通りの処理は行うのですが、ffmpegで処理を繰り返し行っているため、ウィンドウズのプロンプト画面が何度もちらちらと一瞬現れます。 このプロンプト画面を表示しないようにしたいのですが、どなたか対処法をご教示いただけますでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
私の環境で試して成功した方法をお知らせします。 1.ffmpegの実行はsubprocess.runで、creationflags引数を付加する subprocess.run(r"ffmpeg.exe ~",creationflags=subprocess.CREATE_NO_WINDOW) 2.スクリプトのファイル拡張子を「.pyw」にする 3.pyinstallerでexeを作成する
お礼
この度はありがとうございました。
補足
ご教示ありがとうございます。 もう少しだけご教示いただけますでしょうか? ①サウンドファイルを読み込むAudioSegment.from_file() ➁サウンドファイルから部分的に抽出するsourceAudio[a:b] ③抽出したファイルを書き出すsound.export() 上記の3か所でコマンドプロンプトが立ち上がるため、ご教示いただいたsubprocess.run()をこれらの前に入れたり、後ろに入れたりしているのですが、上手く機能しません。 subprocess.run()が確実に走っていることは確認できております。 pyaudioの関数をどのようにからめて記述すれば良いかがわかれば解決すると思われます。 何卒よろしくお願いいたします。