0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 12:02:23 +02:00

ytdl_hook: support alternative youtube-dl path

Allows using a youtube-dl not in PATH or a compatible fork of
youtube-dl.
This commit is contained in:
Ricardo Constantino 2020-10-25 01:26:06 +00:00
parent c07089a250
commit 93f84b514a
No known key found for this signature in database
GPG Key ID: EFD16019AE4FF531
2 changed files with 9 additions and 2 deletions

View File

@ -954,6 +954,11 @@ Program Behavior
if available, allowing for video/audio selection in runtime (default:
no). It's disabled ("no") by default for performance reasons.
``ytdl_path=youtube-dl``
Configure path to youtube-dl executable or a compatible fork's.
The default "youtube-dl" looks for the executable in PATH. In a Windows
environment the suffix extension ".exe" is always appended.
.. admonition:: Why do the option names mix ``_`` and ``-``?
I have no idea.

View File

@ -8,16 +8,18 @@ local o = {
use_manifests = false,
all_formats = false,
force_all_formats = true,
ytdl_path = "youtube-dl",
}
local ytdl = {
path = "youtube-dl",
path = nil,
searched = false,
blacklisted = {}
}
options.read_options(o, nil, function()
ytdl.blacklisted = {} -- reparse o.exclude next time
ytdl.searched = false
end)
local chapter_list = {}
@ -690,7 +692,7 @@ function run_ytdl_hook(url)
-- check for youtube-dl in mpv's config dir
if not (ytdl.searched) then
local exesuf = (package.config:sub(1,1) == '\\') and '.exe' or ''
local ytdl_mcd = mp.find_config_file("youtube-dl" .. exesuf)
local ytdl_mcd = mp.find_config_file(o.ytdl_path .. exesuf)
if not (ytdl_mcd == nil) then
msg.verbose("found youtube-dl at: " .. ytdl_mcd)
ytdl.path = ytdl_mcd