diff --git a/yt_dlp/__init__.py b/yt_dlp/__init__.py index 09c022fa0e..224679e53b 100644 --- a/yt_dlp/__init__.py +++ b/yt_dlp/__init__.py @@ -155,7 +155,7 @@ def set_compat_opts(opts): if 'format-sort' in opts.compat_opts: opts.format_sort.extend(FormatSorter.ytdl_default) elif 'prefer-vp9-sort' in opts.compat_opts: - opts.format_sort.extend(FormatSorter._prefer_vp9_sort) + FormatSorter.default = FormatSorter._prefer_vp9_sort if 'mtime-by-default' in opts.compat_opts: if opts.updatetime is None: diff --git a/yt_dlp/extractor/youtube/_video.py b/yt_dlp/extractor/youtube/_video.py index 9ef7f14dfa..864121e0a3 100644 --- a/yt_dlp/extractor/youtube/_video.py +++ b/yt_dlp/extractor/youtube/_video.py @@ -4110,7 +4110,9 @@ class YoutubeIE(YoutubeBaseInfoExtractor): else 'video'), 'release_timestamp': live_start_time, '_format_sort_fields': ( # source_preference is lower for potentially damaged formats - 'quality', 'res', 'fps', 'hdr:12', 'source', 'vcodec', 'channels', 'acodec', 'lang', 'proto'), + 'quality', 'res', 'fps', 'hdr:12', 'source', + 'vcodec:vp9.2' if 'prefer-vp9-sort' in self.get_param('compat_opts', []) else 'vcodec', + 'channels', 'acodec', 'lang', 'proto'), } def get_lang_code(track):