aboutsummaryrefslogtreecommitdiffstats
path: root/yt_dlp/postprocessor/ffmpeg.py
diff options
context:
space:
mode:
authorpukkandan <pukkandan.ytdlp@gmail.com>2022-08-09 05:14:51 +0530
committerpukkandan <pukkandan.ytdlp@gmail.com>2022-08-11 07:23:45 +0530
commit8420a4d06370d4a3db0f068f5fc9520406d33c40 (patch)
treeaf1fb3cceb9c93420cea6f4b096f2503754cdd04 /yt_dlp/postprocessor/ffmpeg.py
parentb5e9a641f537470c8f6fe9d87a33f808c7a9cabb (diff)
downloadhypervideo-pre-8420a4d06370d4a3db0f068f5fc9520406d33c40.tar.lz
hypervideo-pre-8420a4d06370d4a3db0f068f5fc9520406d33c40.tar.xz
hypervideo-pre-8420a4d06370d4a3db0f068f5fc9520406d33c40.zip
[ffmpeg] Smarter detection of ffprobe filename
Diffstat (limited to 'yt_dlp/postprocessor/ffmpeg.py')
-rw-r--r--yt_dlp/postprocessor/ffmpeg.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/yt_dlp/postprocessor/ffmpeg.py b/yt_dlp/postprocessor/ffmpeg.py
index f663cc28e..6a0a8220b 100644
--- a/yt_dlp/postprocessor/ffmpeg.py
+++ b/yt_dlp/postprocessor/ffmpeg.py
@@ -113,15 +113,20 @@ class FFmpegPostProcessor(PostProcessor):
f'ffmpeg-location {location} does not exist! Continuing without ffmpeg', only_once=True)
return {}
elif os.path.isdir(location):
- dirname, basename = location, None
+ dirname, basename, filename = location, None, None
else:
- basename = os.path.splitext(os.path.basename(location))[0]
- basename = next((p for p in programs if basename.startswith(p)), 'ffmpeg')
+ filename = os.path.basename(location)
+ basename = next((p for p in programs if p in filename), 'ffmpeg')
dirname = os.path.dirname(os.path.abspath(location))
if basename in self._ffmpeg_to_avconv.keys():
self._prefer_ffmpeg = True
paths = {p: os.path.join(dirname, p) for p in programs}
+ if basename and basename in filename:
+ for p in programs:
+ path = os.path.join(dirname, filename.replace(basename, p))
+ if os.path.exists(path):
+ paths[p] = path
if basename:
paths[basename] = location
return paths