1
1
diff --git a/yt-dlp/yt_dlp/postprocessor/ffmpeg.py b/yt-dlp/yt_dlp/postprocessor/ffmpeg.py
2
- index 27d06cbde..dfc01003b 100644
2
+ index 09eb33b8d..9e1c36b78 100644
3
3
--- a/yt-dlp/yt_dlp/postprocessor/ffmpeg.py
4
4
+++ b/yt-dlp/yt_dlp/postprocessor/ffmpeg.py
5
- @@ -91 ,7 +91 ,7 @@ def get_versions(downloader=None):
5
+ @@ -85 ,7 +85 ,7 @@ def get_versions(downloader=None):
6
6
_version_cache, _features_cache = {}, {}
7
7
8
8
def _determine_executables(self):
@@ -11,7 +11,7 @@ index 27d06cbde..dfc01003b 100644
11
11
12
12
def get_ffmpeg_version(path, prog):
13
13
if path in self._version_cache:
14
- @@ -110 ,7 +110 ,7 @@ def get_ffmpeg_version(path, prog):
14
+ @@ -104 ,7 +104 ,7 @@ def get_ffmpeg_version(path, prog):
15
15
if mobj:
16
16
ver = mobj.group(1)
17
17
self._versions[prog] = self._version_cache[path] = ver
@@ -20,7 +20,7 @@ index 27d06cbde..dfc01003b 100644
20
20
return
21
21
22
22
mobj = re.search(r'(?m)^\s+libavformat\s+(?:[0-9. ]+)\s+/\s+(?P<runtime>[0-9. ]+)', out)
23
- @@ -142 ,9 +142 ,9 @@ def get_ffmpeg_version(path, prog):
23
+ @@ -136 ,9 +136 ,9 @@ def get_ffmpeg_version(path, prog):
24
24
dirname, basename = location, None
25
25
else:
26
26
basename = os.path.splitext(os.path.basename(location))[0]
@@ -31,17 +31,17 @@ index 27d06cbde..dfc01003b 100644
31
31
+ if basename in ('libffmpeg.bin.so', 'libffprobe.bin.so'):
32
32
prefer_ffmpeg = True
33
33
34
- self._paths = dict(
35
- @@ -153,7 +153,7 @@ def get_ffmpeg_version(path, prog):
36
- self._paths[basename] = location
34
+ self._paths = {
35
+ @@ -148,7 +148,7 @@ def get_ffmpeg_version(path, prog):
37
36
38
37
self._versions = {}
39
- - executables = {'basename': ('ffmpeg', 'avconv'), 'probe_basename': ('ffprobe', 'avprobe')}
40
- + executables = {'basename': ('libffmpeg.bin.so', 'avconv'), 'probe_basename': ('libffprobe.bin.so', 'avprobe')}
38
+ # NB: probe must be first for _features to be poulated correctly
39
+ - executables = {'probe_basename': ('ffprobe', 'avprobe'), 'basename': ('ffmpeg', 'avconv')}
40
+ + executables = {'probe_basename': ('libffprobe.bin.so', 'avprobe'), 'basename': ('libffmpeg.bin.so', 'avconv')}
41
41
if prefer_ffmpeg is False:
42
42
executables = {k: v[::-1] for k, v in executables.items()}
43
43
for var, prefs in executables.items():
44
- @@ -237 ,7 +237 ,7 @@ def get_audio_codec(self, path):
44
+ @@ -231 ,7 +231 ,7 @@ def get_audio_codec(self, path):
45
45
return None
46
46
47
47
def get_metadata_object(self, path, opts=[]):
@@ -50,7 +50,7 @@ index 27d06cbde..dfc01003b 100644
50
50
if self.probe_available:
51
51
self.report_warning('Only ffprobe is supported for metadata extraction')
52
52
raise PostProcessingError('ffprobe not found. Please install or provide the path using --ffmpeg-location')
53
- @@ -297 ,7 +297 ,7 @@ def real_run_ffmpeg(self, input_path_opts, output_path_opts, *, expected_retcode
53
+ @@ -291 ,7 +291 ,7 @@ def real_run_ffmpeg(self, input_path_opts, output_path_opts, *, expected_retcode
54
54
55
55
cmd = [encodeFilename(self.executable, True), encodeArgument('-y')]
56
56
# avconv does not have repeat option
0 commit comments