-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(plugin): yt-dlp integration #2480
base: main
Are you sure you want to change the base?
Conversation
i love this plugin idea! however based on a quick skim of the code, the current implementation is very questionable. why is ytdlp stored in indexeddb? you need it on the native side, not in the browser i honestly don't think the plugin should download it for you. why not simply test if it's available and if not show the user a popup with instructions how to install it? installing programs from a plugin is not something I want to do and it might trip anti malware engines, not to mention that it also just seems a little sussy. and on Linux this should really be handled via package manager anyway we could just have the user install python themselves and then use pip to install it if it's missing |
Nice catch, weird that it's interrupting though, I thought I had error handling everywhere. I'll have to take a look at that.
Good point, should probably add a check.
I wanted to store it somewhere and wasn't sure where else to do it..
Yeah that's fair enough. I wanted to make it completely seamless, but halfway through I realised that doing the same to download ffmpeg would be a pain in the ass, so now it's in a bit of a weird state where half of the dependencies auto-install. This definitely makes more sense.
I'm not sure that would add it to |
anything installed via pip should be in path. when you install python on windows there's an option to add python stuff to the PATH, you need to make sure to have it checked in any case, you could just do |
not sure why i did that to begin with tbh
this is pretty cool, maybe you could add other sites like spotify, twitter, reddit etc for ease of access |
nevermind, i just checkedout the yt-dlp support info and they already support a ton of shit, i assumed because of the name it was only youtube lmao- good plugin! |
Since it uses yt-dlp under the hood, it does support all of those sites. See this for the like 1500+ supported websites. (I should probably add a link to that list somewhere in the plugin too) |
Yeah i noticed that as soon as you replied, you should definitely mention the url or maybe even have an expandable/searchable list of the supported sites in the plugin about |
I've been thinking about renaming the plugin to something like "Video Downloader" to disconnect it a bit from the word "yt-dlp", as it's both more technical and only implies YouTube downloads. Thoughts? |
"Media Embedder"? |
I'd recomend MediaDownloadCommand, or something similar. It's a really mistakable plugin so you want a good name |
Decided on MediaDownloader for the name, feel like it captures what it does pretty well. I know it doesn't mention the sending part, but I feel like it's implied (but i'll take other suggesions). |
This is a plugin that adds a
![based](https://private-user-images.githubusercontent.com/18369995/331837058-0c691a46-0d08-4d95-81ba-a88ac93bfecd.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTgwNDQ0OTEsIm5iZiI6MTcxODA0NDE5MSwicGF0aCI6Ii8xODM2OTk5NS8zMzE4MzcwNTgtMGM2OTFhNDYtMGQwOC00ZDk1LTgxYmEtYTg4YWM5M2JmZWNkLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjEwVDE4Mjk1MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA0MWRmOGUwYzMzZTY3M2NkZjMzNzYzNzc3MTI4YjE2NjI5MDQyYjM0NTljODg3NjAzZGJjNmVjZWE1ZWE0ZGQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.9au5_8FSFb7dNCmVL_HlZ6vwsBiWvKWeeWIEw-WrHTc)
yt-dlp
command. You pass a url, it downloads it and readies it as an attachment. See the gif for a quick example.It supports any URL supported by https://github.com/yt-dlp/yt-dlp.
I have not yet tested this on Linux,
and I might also add support for converting directly to gifs, but feel free to experiment and find bugs.