diff options
-rw-r--r-- | DOCS/man/options.rst | 5 | ||||
-rw-r--r-- | player/lua/ytdl_hook.lua | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst index cc65ea98c3..cfe41fbf67 100644 --- a/DOCS/man/options.rst +++ b/DOCS/man/options.rst @@ -552,6 +552,11 @@ Program Behavior If the script can't do anything with an URL, it will do nothing. + The `try_ytdl_first` script option accepts a boolean 'yes' or 'no', and if + 'yes' will try parsing the URL with youtube-dl first, instead of the default + where it's only after mpv failed to open it. This mostly depends on whether + most of your URLs need youtube-dl parsing. + The `exclude` script option accepts a ``|``-separated list of URL patterns which mpv should not use with youtube-dl. The patterns are matched after the ``http(s)://`` part of the URL. diff --git a/player/lua/ytdl_hook.lua b/player/lua/ytdl_hook.lua index 74095e8e57..ee7a4e37fd 100644 --- a/player/lua/ytdl_hook.lua +++ b/player/lua/ytdl_hook.lua @@ -3,7 +3,8 @@ local msg = require 'mp.msg' local options = require 'mp.options' local o = { - exclude = "" + exclude = "", + try_ytdl_first = false } options.read_options(o) @@ -301,7 +302,7 @@ local function add_single_video(json) end end -mp.add_hook("on_load_fail", 10, function () +mp.add_hook(try_ytdl_first and "on_load" or "on_load_fail", 10, function () local url = mp.get_property("stream-open-filename") local start_time = os.clock() if (url:find("ytdl://") == 1) or |