⚠️ Please read this carefully and edit the example responses! If you do not fill out this information, your bug report may be closed without comment.
Checklist (please tick all boxes)
Actual behavior
When ffmpeg-normalize is used from a PyInstaller-bundled application on Windows, each normalization run spawns a visible terminal/console window for the ffmpeg subprocess. This makes the application hardly usable when multiple normalizations run concurrently.
ffmpeg-normalize calls subprocess.Popen without passing creationflags=subprocess.CREATE_NO_WINDOW. On Windows, this causes a console window to appear for each subprocess even when the calling application is a windowed (--windowed) PyInstaller bundle with no console of its own.
python
import sys
import subprocess
kwargs = {}
if sys.platform == "win32":
kwargs["creationflags"] = subprocess.CREATE_NO_WINDOW
subprocess.Popen([...], **kwargs)
Or more robustly, default to CREATE_NO_WINDOW and let callers opt out, since a library spawning visible console windows in a GUI application is never the desired behaviour.
Environment (please complete the following information):
- [Windows] Your operating system
- [3.14.3] Your Python version / distribution (
python3 --version or python --version)
- [8.1.2] Your ffmpeg version (
ffmpeg -version)
Checklist (please tick all boxes)
ffmpeg-normalize(runpip3 install --upgrade ffmpeg-normalize)ffmpegor a recent build from Git masterActual behavior
When
ffmpeg-normalizeis used from a PyInstaller-bundled application on Windows, each normalization run spawns a visible terminal/console window for the ffmpeg subprocess. This makes the application hardly usable when multiple normalizations run concurrently.ffmpeg-normalizecallssubprocess.Popenwithout passingcreationflags=subprocess.CREATE_NO_WINDOW. On Windows, this causes a console window to appear for each subprocess even when the calling application is a windowed (--windowed) PyInstaller bundle with no console of its own.Or more robustly, default to
CREATE_NO_WINDOWand let callers opt out, since a library spawning visible console windows in a GUI application is never the desired behaviour.Environment (please complete the following information):
python3 --versionorpython --version)ffmpeg -version)