I am using ffmeg/ffprobe to get video durations (in an addon for Kodi). The code:
result = subprocess.run(["ffprobe", "-hide_banner", "-v", "quiet", "-show_entries",
"format=duration", "-of",
"default=noprint_wrappers=1:nokey=1", filename], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
The above code and the file importing that code both have a .pyw extension (after first trying regular .py).
This works fine but in Windows 11 it causes the black Windows Command window to briefly flash for each video, despite the -hide_banner flag and loglevel being set to quiet. In Linux Mint it runs without any such window popping up.
Is there any way to suppress the Windows Command window?
It just needed shell=True at the end. The final working code:
result = subprocess.run(["ffprobe", "-hide_banner", "-v", "quiet", "-show_entries",
"format=duration", "-of",
"default=noprint_wrappers=1:nokey=1", filename], stdout=subprocess.PIPE, stderr=None, shell=True)