mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-20 01:42:50 +01:00
Update ffmpeg.py
Problem: I created a yt-dlp GUI and I use ffmpeg to convert to audio often, recently I used pyinstaller to make a .exe for this GUI because I want to send it to friends who don't have python in their computers, also I don't like the console that appears with python so I just put the configuration to remove the console on pyinstaller, the program works fine, until it has to convert anything with ffmpeg, then because ffmpeg requires a console to open it the program crashes. Solution: Added 'creationflags=subprocess.CREATE_NO_WINDOW' so it doesn't try to create a terminal window, this fixes the crashing. Extra info: - All of this is on windows, I didn't test on linux or on mac - This problem only happend to me when I compiled the program to .exe - I tried this solution and it worked perfectly
This commit is contained in:
parent
95abea9a03
commit
9269931b9b
@ -251,7 +251,8 @@ def get_audio_codec(self, path):
|
||||
cmd.append(encodeFilename(self._ffmpeg_filename_argument(path), True))
|
||||
self.write_debug(f'{self.basename} command line: {shell_quote(cmd)}')
|
||||
stdout, stderr, returncode = Popen.run(
|
||||
cmd, text=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
cmd, text=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE, creationflags=subprocess.CREATE_NO_WINDOW)
|
||||
if returncode != (0 if self.probe_available else 1):
|
||||
return None
|
||||
except OSError:
|
||||
@ -292,7 +293,8 @@ def get_metadata_object(self, path, opts=[]):
|
||||
cmd += opts
|
||||
cmd.append(self._ffmpeg_filename_argument(path))
|
||||
self.write_debug(f'ffprobe command line: {shell_quote(cmd)}')
|
||||
stdout, _, _ = Popen.run(cmd, text=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE)
|
||||
stdout, _, _ = Popen.run(cmd, text=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE,
|
||||
stdin=subprocess.PIPE, creationflags=subprocess.CREATE_NO_WINDOW)
|
||||
return json.loads(stdout)
|
||||
|
||||
def get_stream_number(self, path, keys, value):
|
||||
@ -361,7 +363,8 @@ def make_args(file, args, name, number):
|
||||
|
||||
self.write_debug('ffmpeg command line: %s' % shell_quote(cmd))
|
||||
_, stderr, returncode = Popen.run(
|
||||
cmd, text=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE)
|
||||
cmd, text=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE,
|
||||
stdin=subprocess.PIPE, creationflags=subprocess.CREATE_NO_WINDOW)
|
||||
if returncode not in variadic(expected_retcodes):
|
||||
self.write_debug(stderr)
|
||||
raise FFmpegPostProcessorError(stderr.strip().splitlines()[-1])
|
||||
|
Loading…
Reference in New Issue
Block a user