From 1b23a3ba10ac1f70f91a788599ef5f77e4b0713f Mon Sep 17 00:00:00 2001 From: Prabhat Roy Date: Thu, 10 Jun 2021 18:42:31 +0100 Subject: [PATCH 1/3] Added warning message for unsupported ffmpeg version --- setup.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/setup.py b/setup.py index 4cc3d0698a4..80a1c074da3 100644 --- a/setup.py +++ b/setup.py @@ -6,6 +6,7 @@ import subprocess import distutils.command.clean import distutils.spawn +from distutils.version import StrictVersion import glob import shutil @@ -346,6 +347,17 @@ def get_extensions(): ffmpeg_exe = distutils.spawn.find_executable('ffmpeg') has_ffmpeg = ffmpeg_exe is not None + if has_ffmpeg: + try: + ffmpeg_version = os.popen('ffmpeg -version | head -n1').read() + ffmpeg_version = ffmpeg_version.split('version')[-1].split()[0] + if StrictVersion(ffmpeg_version) >= StrictVersion('4.3'): + print(f'ffmpeg {ffmpeg_version} not supported yet, please use ffmpeg 4.2.') + has_ffmpeg = False + except (IndexError, ValueError): + print('Error fetching ffmpeg version, ignoring ffmpeg.') + has_ffmpeg = False + print("FFmpeg found: {}".format(has_ffmpeg)) if has_ffmpeg: From 936bc89d886c85a170fe43b7c281498e0ce361cc Mon Sep 17 00:00:00 2001 From: Prabhat Roy Date: Fri, 11 Jun 2021 19:02:20 +0100 Subject: [PATCH 2/3] Replaced os.popen with subprocess.run --- setup.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 9bdcd434f8b..dfc573fdf48 100644 --- a/setup.py +++ b/setup.py @@ -349,7 +349,8 @@ def get_extensions(): has_ffmpeg = ffmpeg_exe is not None if has_ffmpeg: try: - ffmpeg_version = os.popen('ffmpeg -version | head -n1').read() + ffmpeg_version = subprocess.run( + 'ffmpeg -version | head -n1', shell=True, capture_output=True).stdout.decode('utf-8') ffmpeg_version = ffmpeg_version.split('version')[-1].split()[0] if StrictVersion(ffmpeg_version) >= StrictVersion('4.3'): print(f'ffmpeg {ffmpeg_version} not supported yet, please use ffmpeg 4.2.') From 1f2646be6801ac7ae82fcccca6f31a1c1c88b3fb Mon Sep 17 00:00:00 2001 From: Prabhat Roy Date: Fri, 11 Jun 2021 19:49:14 +0100 Subject: [PATCH 3/3] Removed capture_true argument --- setup.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index dfc573fdf48..8293a166eb8 100644 --- a/setup.py +++ b/setup.py @@ -350,7 +350,8 @@ def get_extensions(): if has_ffmpeg: try: ffmpeg_version = subprocess.run( - 'ffmpeg -version | head -n1', shell=True, capture_output=True).stdout.decode('utf-8') + 'ffmpeg -version | head -n1', shell=True, + stdout=subprocess.PIPE).stdout.decode('utf-8') ffmpeg_version = ffmpeg_version.split('version')[-1].split()[0] if StrictVersion(ffmpeg_version) >= StrictVersion('4.3'): print(f'ffmpeg {ffmpeg_version} not supported yet, please use ffmpeg 4.2.')