diff --git a/src/engines/ffmpeg_engine.py b/src/engines/ffmpeg_engine.py index 3ee0ae7..a665bdd 100644 --- a/src/engines/ffmpeg_engine.py +++ b/src/engines/ffmpeg_engine.py @@ -33,11 +33,15 @@ class FFMPEG(BaseRenderEngine): return encoders def get_all_formats(self): - formats_raw = subprocess.check_output([self.renderer_path(), '-formats'], stderr=subprocess.DEVNULL, - timeout=SUBPROCESS_TIMEOUT).decode('utf-8') - pattern = '(?P[DE]{1,2})\s+(?P\S{2,})\s+(?P.*)' - all_formats = [m.groupdict() for m in re.finditer(pattern, formats_raw)] - return all_formats + try: + formats_raw = subprocess.check_output([self.renderer_path(), '-formats'], stderr=subprocess.DEVNULL, + timeout=SUBPROCESS_TIMEOUT).decode('utf-8') + pattern = '(?P[DE]{1,2})\s+(?P\S{2,})\s+(?P.*)\r' + all_formats = [m.groupdict() for m in re.finditer(pattern, formats_raw)] + return all_formats + except Exception as e: + logger.error(f"Error getting all formats: {e}") + return [] def extension_for_format(self, ffmpeg_format): # Extract the common extension using regex