aboutsummaryrefslogtreecommitdiffstats
path: root/yt_dlp/postprocessor/ffmpeg.py
diff options
context:
space:
mode:
authorpukkandan <pukkandan.ytdlp@gmail.com>2021-11-04 03:10:49 +0530
committerpukkandan <pukkandan.ytdlp@gmail.com>2021-11-04 03:13:37 +0530
commit8913ef74d76d8e93e4aeaf9d2827ca950c17f8ce (patch)
tree8f4b9f61ad518da0a3aa920af96e8cc010ecb485 /yt_dlp/postprocessor/ffmpeg.py
parent832e9000c71c5bbd97c93d21051044cf61a3b87f (diff)
downloadhypervideo-pre-8913ef74d76d8e93e4aeaf9d2827ca950c17f8ce.tar.lz
hypervideo-pre-8913ef74d76d8e93e4aeaf9d2827ca950c17f8ce.tar.xz
hypervideo-pre-8913ef74d76d8e93e4aeaf9d2827ca950c17f8ce.zip
[ffmpeg] Detect libavformat version for `aac_adtstoasc`
and print available features in verbose head Based on https://github.com/ytdl-org/youtube-dl/pull/29581
Diffstat (limited to 'yt_dlp/postprocessor/ffmpeg.py')
-rw-r--r--yt_dlp/postprocessor/ffmpeg.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/yt_dlp/postprocessor/ffmpeg.py b/yt_dlp/postprocessor/ffmpeg.py
index 139b97fb4..46e87baeb 100644
--- a/yt_dlp/postprocessor/ffmpeg.py
+++ b/yt_dlp/postprocessor/ffmpeg.py
@@ -76,8 +76,13 @@ class FFmpegPostProcessor(PostProcessor):
self.report_warning(warning)
@staticmethod
+ def get_versions_and_features(downloader=None):
+ pp = FFmpegPostProcessor(downloader)
+ return pp._versions, pp._features
+
+ @staticmethod
def get_versions(downloader=None):
- return FFmpegPostProcessor(downloader)._versions
+ return FFmpegPostProcessor.get_version_and_features(downloader)[0]
def _determine_executables(self):
programs = ['avprobe', 'avconv', 'ffmpeg', 'ffprobe']
@@ -99,9 +104,12 @@ class FFmpegPostProcessor(PostProcessor):
if prog != 'ffmpeg' or not out:
return
+ mobj = re.search(r'(?m)^\s+libavformat\s+(?:[0-9. ]+)\s+/\s+(?P<runtime>[0-9. ]+)', out)
+ lavf_runtime_version = mobj.group('runtime').replace(' ', '') if mobj else None
self._features = {
'fdk': '--enable-libfdk-aac' in out,
'setts': 'setts' in out.splitlines(),
+ 'needs_adtstoasc': is_outdated_version(lavf_runtime_version, '57.56.100', False),
}
self.basename = None