darkhz / invidtui

A TUI based Invidious client
MIT License
196 stars 6 forks source link

Hard coded dependency on "youtube-dl" and the alternative "yt-dlp" #4

Closed m040601 closed 2 years ago

m040601 commented 2 years ago

Thank you for your work in this very usefull tool.

I've been testing and comparing a lot of these alternative cli youtube frontends. As of today, invidtui has "youtube-dl" as a mandatory dependency.

Is there any special reason for this ?

yt-dlp is a more updated and maintained fork of youtube-dl. Actually, as of today, it is not the "alternative" to youtube-dl. It is the other way around. It is already an official package in a lot of official Linux distro repositories. I see the other projects supporting both, and the tool just picks up the one you have chosen to have on your system.

I'm on Archlinux, using these recipes to test invidtui, https://aur.archlinux.org/packages/invidtui-bin or https://aur.archlinux.org/packages/invidtui.

For the cases like me, who :

There's an additional alternative step. You install and addtional tool like "yt-dlp-drop-in" to "cheat" your system into thinking you have "youtube-dl".

I find it bloated, convoluted and unnecessary. And I would prefer if the tool (inviditui in this case) would natively supports yt-dlp to start with. Without expecting to find something called "youtube-dl" on your system.

Thanks in advance.

darkhz commented 2 years ago

Thank you for opening this issue.

I should have been more clear on the dependencies required. yt-dlp is already permissible by default, all you have to do is to specify that invidtui has to use yt-dlp either via the command-line option --ytdl-path or adding a ytdl-path entry in your config file.

Via command-line, invoking invidtui with the option would look like this: invidtui --ytdl-path=/usr/bin/yt-dlp

For the config file, use invidtui --help to get the config file location,and within the config file add this line: ytdl-path=/usr/bin/yt-dlp

The methods listed above are a bit tedious, I agree, and I will add yt-dlp as a switchback in the upcoming release so that the command-line option or the config file entry will not be necessary.