diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst index 0ffd6c783a..14a901751d 100644 --- a/DOCS/man/options.rst +++ b/DOCS/man/options.rst @@ -560,6 +560,10 @@ Program Behavior which mpv should not use with youtube-dl. The patterns are matched after the ``http(s)://`` part of the URL. + The `use_manifests` script option makes mpv use the master manifest URL for + formats like HLS and DASH, if available, allowing for video/audio selection + in runtime. It's disabled ("no") by default for performance reasons. + ``^`` matches the beginning of the URL, ``$`` matches its end, and you should use ``%`` before any of the characters ``^$()%|,.[]*+-?`` to match that character. diff --git a/player/lua/ytdl_hook.lua b/player/lua/ytdl_hook.lua index 59ffbd3b94..3c5068bfd7 100644 --- a/player/lua/ytdl_hook.lua +++ b/player/lua/ytdl_hook.lua @@ -4,7 +4,8 @@ local options = require 'mp.options' local o = { exclude = "", - try_ytdl_first = false + try_ytdl_first = false, + use_manifests = false } options.read_options(o) @@ -279,7 +280,7 @@ local function add_single_video(json) local reqfmts = json["requested_formats"] -- prefer manifest_url if present - if valid_manifest(json) then + if o.use_manifests and valid_manifest(json) then local mpd_url = reqfmts and reqfmts[1]["manifest_url"] or json["manifest_url"] if not mpd_url then