mpv
mpv copied to clipboard
Make ytd_hook.lua's ytdl binary file path and the ytdl json output available to other scripts
Expected behavior of the wanted feature
-
Lua scripts are able to get the path to the ytdl binary that
player/lua/ytdl_hook.luahas found. -
Lua scripts are able to get the ytdl json output that
player/lua/ytdl_hook.luahas received from ytdl.
Why I want these features
I use yt-dlp in some of my scripts, and I want the scripts to use the same binary that ytdl_hook.lua uses, without the user having to specify the path to the ytdl binary in every scripts' options or the scripts duplicating the binary finding functionality of ytdl_hook.lua. It would be nice if ytdl_hook.lua made the ytdl binary path it has found available to all the scripts.
My scripts also need the yt-dlp --json-dump ... output that the ytdl_hook.lua script already receives, for example to determine if the video is a live-stream or a vod (json["is_live"]) and change things based on that, or to get the filename the video would have downloaded as (json["filename"]) , and if already exists on the disk - just open it from the disk, etc. It's very inefficient to have multiple scripts call ytdl --json-dump ... for the same URL to get the same json. It would be nice if ytdl_hook.lua made the output of --json-dump available to all the scripts.
See https://github.com/mpv-player/mpv/pull/12852
related https://github.com/mpv-player/mpv/pull/10410
Thanks for the pointers, got it working using user-data/ytdl/ properties.
It sounds like such a PR might get accepted, so I opened one.