mpv icon indicating copy to clipboard operation
mpv copied to clipboard

Make ytd_hook.lua's ytdl binary file path and the ytdl json output available to other scripts

Open nurupo opened this issue 1 year ago • 3 comments

Expected behavior of the wanted feature

  1. Lua scripts are able to get the path to the ytdl binary that player/lua/ytdl_hook.lua has found.

  2. Lua scripts are able to get the ytdl json output that player/lua/ytdl_hook.lua has 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.

nurupo avatar May 09 '24 13:05 nurupo

See https://github.com/mpv-player/mpv/pull/12852

kasper93 avatar May 09 '24 13:05 kasper93

related https://github.com/mpv-player/mpv/pull/10410

christoph-heinrich avatar May 09 '24 13:05 christoph-heinrich

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.

nurupo avatar May 09 '24 15:05 nurupo