Very Simple Front End for Yt-dlp
This is a very, very simple GUI and there are others floating around the are much more elaborate. This does what I needed it to do, and, it works for me - that's really all I know.
This was a fun project I did with ChatGPT. I really didn't know what ChatGPT could do...that it had capabilites of this kind. Anyway, I still
know nothing about coding and I knew damned near nothing about ChatGPT when I started. I just had a
simple bash script that I used, from a command line on Linux, to somewhat simplify using Yt-dlp. I uploaded it to ChatGPT, just goofing around, and asked if it could help me make
a graphical front end for the thing - which it did!
By the way I had a batch script for Windows and made a similar GUI for Windows. Anyway,
ChatGPT produced the python code to build my simple GUIs.
How To Install, etc
First, I have only tried running this on
Linux Mint Cinnamon edition. I have no idea how it would work - or fail to work - on Mint Mate or Mint Xfce.
If anyone else wanted to use this it's pretty simple. Just download a .zip file, chmod the INSTALL.script executable (chmod 777 INSTALL.script) and run ./INSTALL.script (or, heck, just run ./IN* - use a wildcard..that works). The install script just copies a few harmless files around your computer. During the install, on Mint 21 and Mint 22, it does change permissions on your /usr/local/bin folder (to 777). The first time you run the GUI and hit the update button these get reset to 755 when the update is complete. This is not required on Mint 20 due to looser, defult permissions.
So installing is super simple: Just download the .zip file and unarchive the thing anywhere. Open a terminal, navigate to the unarchived folder, and type:
chmod 777 INSTALL.script
./INSTALL*
This is what the install file does - and it ain't much:
- Copies yt-dlp_linux to /usr/local/bin - I didn't even rename the file from Github.
- Asks for your Linux username (case sensitive, of course)
- Copies an icon to /usr/share/icons/hicolor/256x256/apps
- In a Windows-like move copies a program shortcut to your desktop - hey, you can delete the thing.
- Copies a desktop shortcut to /usr/share/applications
- On Mint 21 and 22 the script temporarily resets, recursively, permissions on /usr/bin/local to 777. Once you run the GUI and hit the "Update Yt-dlp" button permissions for the /usr/local/bin folder are then reset to 755. The stock permissions on Mint 21 and 22 are extremely paranoid, in the first place. But, hey, we play along and tighten them up again by hitting the "Update" button in the GUI (on Mint 20 /usr/local/bin has 777 permissions out of the box).
- Yt-dlp actually ships with Mint 21 and Mint 22 but without any sort of front-end. Basically you'd never even know it was in the system unless you dug into the docs. It creates a conflict with the yt-dlp_linux binary we're copying to /usr/local/bin so the Mint 21 and Mint 22 install scripts remove this stock version. You'll be asked to approve this as the script runs - just type "Y" to approve removing the stock file.
- Again: Just chmod the INSTALL.sript file 777 (one more time: chmod 777 INSTALL.script) and run the install (./INSTALL.script).
- That's it. You will find shortcuts for the program in the "Internet" section of your start menu.
Random notes
Why the option to choose between YouTube and other sites?
Working from my very simple bash script ChatGPT produced a GUI that worked with YouTube but failed with some other sites - Daily Motion, Rumble, etc. It managed to figure out what was wrong
and said it had to strip out some characters in some URLs to make everything work on those other sites. Afraid of breaking the funcionality, altogether, I suggested we use
this new processing as an alternative - hence the toggle buttons for YouTube and other sites. One or the other should absolutely work for supported sites and perhaps I should
have made the second option the default and simplified the GUI - I dunno.
Why the option force English language in audio?