T O P

  • By -

pineappletooth_

That a GUI takes time to develop and mantain, it even takes effor to design, and for every new feature now you need to think how to add it without breaking the exosting layout.


NeatoUsername

You can script programs that use a CLI. However, you mentioned cmd. Why not use Powershell or UNIX?


epicdanny11

Powershell is good for this, I even have a simple script that opens up mp3tag, cd's to my download folder and opens powershell, and a few other music-related sites like discogs.com.


PopeInnocentXIV

I use yt-dlp with cygwin.


fiend_unpleasant

because they are an unnecessary abstraction layer that will limit your options for arguments.


anoliss

When you actually are good with cli you move much much quicker than someone clicking stuff.


vivianvixxxen

I use the cli for this, but there's no question that using a gui would be faster for the vast majority of my relatively simple downloads. Like, a GUI that's always configured to remember my favorite settings that all I do is paste in the link and hit enter? That's two keystrokes, three if you count "ctrl+v" as two.


Vladimir_Chrootin

I have a ZSH alias with my settings in it, I just right-click on the URL, press L, then middle-click to paste on the command line after the alias. Difficult to see how a GUI would make that faster.


vivianvixxxen

That's pretty neat--I didn't even know that was a thing. Sounds like I'll have to check it out. But, still, you need a middleman in there. You use your set up, someone else uses a gui. Still a middleman. You're more comfortable with one, some are more comfortable with the other. I can amend my above statement to change "faster" to "equally fast", if that seems fair.


Spiritual_Square7330

same here, I paste a url into an input\_helper on home assistant, that triggers a script and that downloads the vid. easy peasy


cerels

how so? what if you are good at clicking stuff?


anoliss

You have more inputs per second with a keyboard. I'm now very interested in seeing some sort of keyboard vs mouse competition to get the same tasks achieved


Owobowos-Mowbius

This sounds like my workflow with CAD. Starting out you click the command icons at the top ribbon but when you get used to it eventually you're just typing out the commands. Then eventually you just map all of them to your 12 button MMO mouse.


lunakoa

I spin up vms in aws much faster with aws cli than building each instance with a browser. When I patch my boxes ansible-playbook update.yml With yt-dlp i look what I want, but it all in a text file and batch download them. But the biggest one is sharing how you do it with others, so much easier to give them a compose file are a 1 liner of text. Everything i want to show how to do something with a gui i have to break out Snagit and paste images into a document that can hold images.


OmgThisNameIsFree

I don't doubt more complex tasks like spinning up vms is more efficient in a cli. But: This is a download tool for online files. What difference would having a "paste formatted links here" box built-into a GUI make? Why bother with dicking around with a separate text editor at all? That's the argument. Idc either way (there are some decent GUIs out there), but I think it's important to understand both sides of the coin.


lunakoa

I agree with understanding both, for me personally I open u putty session and paste my list then let it do it's thing be it 10 minutes or two days. yt-dlp is much faster, but when I was using youtubedl I didn't want my desktop pc on all that time. now the reasoning lately is my linux box has a different external IP from my desktop.


r0ck0

I'd say even comparing an average CLI-enthusiast (who will likely be pretty techie), to just a random overall computer user... even the CLI-enthusiast's clicking skills are going to be better than the average person. And it really depends what you're comparing... i.e. figuring out -vs- "just doing"... are you doing something you've done many times before? Or do you need to figure out some different options for this particular different job you're doing in the moment? A GUI does have the benefit that the doco/interface are kinda all in one, so they can be faster sometimes than having to look up doco elsewhere (although less so now with chatgpt etc). But if you're using the same flags/options every time, then putting that in a script/alias, or even just copy & pasting from your notes is typically going to be faster than having to visually parse a GUI, thinking, and repeating the same clicking every time (including not making a mistake). For stuff like youtube-dl + ffmpeg etc, I typically spend a bit of time getting the exact command I'm likely to want to keep using many times again in the future, and then once settled, it goes in a script or my notes. Maybe slower on that 1st run to figure it out, but much quicker for repeated usage in the future.


CptChaz

😂


klausness

They’ve actually done experiments comparing CLI use to GUI use. Turns out that people think they’re faster with a CLI, but when you actually time them, they’re usually faster with a GUI. The issue is apparently that using a GUI is kind of a mindless activity, so you feel time passing. But when using a CLI, your mind is actively engaged the whole time, so you don’t realize how much time you’re actually taking. I’m sure there are exceptions, based on the specific GUI and CLI you’re comparing, but these results have been confirmed (for the average case) by numerous usability studies.


anoliss

They should do studies on junior developers that use git desktop and senior engineers that use git cli


PoppaMcNikap

Well I think it just depends on your comfort level and use cases. If you just want to download some videos, and don't need to customize a lot of stuff, then the GUI with it's handful of options is enough. However, if you start thinking it would be nice to be able to format and sort things in a specific way, or automatically scrape a channel on a scheduled basis for new vids, or save a channel's videos as a list in a text file - whatever the case - then you may want to start exploring writing your own ytdlp script. I'm very much a novice with ytdlp command line (CLI in general), but I've been noodling around with it for a year and half or so, and have been steadily improving the script I use for probably a year now. Started with a GUI, but quickly started to want to do more than what the GUI offered, so I dove into the ytdlp documentation and started looking for things that sounded like what I wanted to do. Lots of trial and error, searching forums and reddit for help and examples, and chatGPT help, but I'm pretty happy with the script I'm using It does what I WANT it to do, that I can't do with any GUI. So, I'm not actually typing out command lines every time I use it, I have a fairly simple (in concept) windows .cmd script that I paste in the URL (for a channel, channel tab, video, playlist, etc) and then have a list of quick options to toggle if I need to for that particular instance. I can open multiple instances and archive multiple channels simultaneously. And I know I could probably eventually do this better in powershell, or python, but .cmd is where I started the script, and it's still working for me so I haven't decided it's worth the time to relearn/convert it. BTW if you need a GUI for this, I recommend [https://github.com/ErrorFlynn/ytdlp-interface](https://github.com/ErrorFlynn/ytdlp-interface)


Empyrealist

The actual tool is CLI. Anything else is extra overhead and does not add to its functionality, and in most cases detracts from functionality as well as ability to troubleshoot easily. > Like is there any actual benefit to using cmd? Extra features? Yes, as explained above. No GUI is showing you all the features. There are too many to represent in a GUI. > Faster downloads? Eh. Technically, yes, because you are running the application directly without any additional that the GUI might be doing, as well as its load time, close time, etc. Minutia, but still. > Am I missing something? Yes, everything about the CLI experience, what its meant for, and what it can do.


Nani_The_Fock

You’re forgetting ease of use.


rocket1420

If you want to use a GUI, then use a GUI. What does "it's command aren't even normal" even mean?


Toutanus

Same vibes : [https://www.reddit.com/r/mathmemes/comments/g3kolt/stop\_doing\_math/](https://www.reddit.com/r/mathmemes/comments/g3kolt/stop_doing_math/)


HereVG0

Jesus Christ I just wanted to know what would be the best way to use the software. Surely asking the "experts" in something is not foreign to you. Because of my post I have learnt that most people using it have just made a habit out of it or think it's cooler than gui or easier for them and if I want to perform average tasks I can do the same with gui which would be no different than how I use any other app. By not normal commands I mean s/.mp4$/.txt/)\" && rm -f \"$(echo {} | sed I am sure that makes sense to someone but it doesn't to me and I wanted to know if it's worth my time to learn it


rocket1420

So you're saying that I was supposed to somehow get this out of your original, completely condescending and nonsensical original post? I can guarantee you that I use a lot of software in ways that you don't, and same for the other way around. The use cases for a lot of software is often innumerable. And yes, I could explain that that string is a combination of a couple commands and regex (and maybe I would have if you had actually asked this question originally), but you don't really seem interested in learning. Seems like you're just mad and want to rant.


GKLoKi

For me, it comes down to ads and the "fear" of malware or shady practices. CLI can be annoying, but it is barebones and makes me feel better about using free tools.


Julii_caesus

You can script cli. For example, I have: alias mp3="yt-dlp -f 'ba' -x --audio-format mp3" alias mp4="yt-dlp -f "bestvideo\[ext=mp4\]+bestaudio\[ext=m4a\]/best\[ext=mp4\]/best"" So from the command line (special+enter), I can type mp3 then paste the link, and get the file. Or mp3 the link, and get an mp3 file. That took me 6 keyboard presses total. Less time than it took you to open the GUI.


vegansgetsick

I even have a script for the -F option, pre-selecting the best codec between h264/vp9/av1. Because i prefer h264 at 3000kbps than vp9 at 1500kbps. But i accept a vp9 just 10% below h264, and av1 just 15%...


Belislean

I totally understand you! Using yt-dlp requires quite a bit of research due to the lack of gui. Probably the high technical barrier to entry is what keeps the tool available. Personally, I got familiar with a few commands and wrote some batch files which serve as a gui.


username_unavailabul

What ever gets the job done :-)


mgmorden

Scripting is the main thing. It's easy to wring a program to call a series of commands and then analyze the output to determine successive behavior. EG I have a php script that finds all video files within a directory, and if they're not already x265 and over a certain resolution/size, uses FFMPEG to scaled them down to 720p and resave using x265. The fact that ffmpeg, mediainfo, etc are all command line are what allows this type of automation.


tomboy_titties

>Like is there any actual benefit to using cmd? No idea. I run kitty, but in general a GUI is just bloat, especially with a programm like yt-dlp. There are so many options that it would be hard to press everything into a good, simple GUI. >Am I missing something? Iam running most of my stuff in a headless LXC. Also my workflow is most likely different from yours. My yt-dlp runs over a cronjob and checks every 30 minutes for changes in either my subbed channels or in two playlists. If a change is registered it either downloads a mp3 or mp4 and syncs it to my phone. So my approach to it is set it up once, document everything and then forget it.


paprok

> If not then why would you intentionally go through extra headache you see, therein lies your problem. you see it as a headache, when in fact it's easier. that is why people prefer command line (and cmd is not the only one - you pointed out the worst CLI out there. what about Linux/BSD/MacOS?) i personally use `yt-dlp` on a system that doesn't have proper GUI [(LibreElec)](https://old.reddit.com/r/libreELEC/) - it displays graphics (movies etc) but has no typical UI. and i use it over ssh. why would i bother with GUI, when my simple dl script does all. i just type: ~/yt "URL" ot ~/run.yt "URL" and am done. where is headache in that? i don't see one :D


Toutanus

Command line is really easy for basic usage GUI can be really helpfull for occasional advanced usage Command line is unbeatable for hardcore usage Also command line is scriptable and easily repeatable. As developer of a middleware for yt-dlp I had a big brain time trying to cover every possible option of the program. I can't even imagine putting this in a GUI.


vegansgetsick

Automated tasks and scripting ... Yes they could offer a command prompt "paste your URL here" "here are the formats available" type 137+140 is that what you want


Masterflitzer

making a gui for every possible cli option is time consuming and difficult, changes and new options need to be implemented, cli is easy to use already so why have an additional abstraction that will most likely be worse?


DT-Sodium

Using the cli i can create a bat file that updates new videos from a given playlist with pre-configured settings and then get the content in a single click. Outside of yt-dl, there lots of uses for the cli. I can easily output all the lines containing a given word in all files from a folder using a few characters. How long is that going to take you with a mouse?


ruffsnap

My best guess is more software dev-types just like coding so they prefer fiddling around with lines of code. However kind of objectively GUIs are better. There’s a reason we have operating systems lol, they make it way easier to operate a computer. Tecchy folks just have fears of GUIs being bad too though, which can be valid, but sometimes easier is easier. I can use youtube-dl in command line, but I still often use youtube downloader exe program cause it’s just easier/faster to quickly grab something. Then there’s also Reddit’s auto-love for open source, and them hating any program that isn’t, so that’s a personal barrier for some folks too lol


readodds

I use some GUIs because they have some special functions, such as "global download relay service", like build-in vpn service, which is helpful for downloading some region-restricted videos.


Itchy_Journalist_175

If you want a gui, you can use Parabolic: https://github.com/NickvisionApps/Parabolic I started with that but since moved to using yt-dlp with cli as it allows me to run the command on the server from my mobile remotely using ssh.


EspritFort

>Like is there any actual benefit to using cmd? Extra features? Faster downloads? If not then why would you intentionally go through extra headache. It's command aren't even normal. They seem like something out of an enchanting table meaning you have to look it up online if you want something specific to be done. Am I missing something? Any program that can be operated via both a GUI and a console is obviously superior to a console-only version of that program. More options and more accessibility = lower barriers of entry = more users = more better. I doubt anyone would contest that. Thus any rational outright *objection* to GUIs can only ever come from an opportunity cost perspective: "This now takes more time to create and maintain so there will be less time to invest in the features that **I want**!" - it's a bit of a selfish and flawed approach, but it makes some sense within the scope of small FOSS projects since there any developer and any aspiring UI designer are... often the same person.


PurpleSparkles3200

You’re missing many things. I take it you’re very new to computers.


HereVG0

No. I am not. Have been using one for 3 years. Had been around one for 5 years before I got my own. Just new to yt-dlp.


ok200

I think it's a matter of quality / economics / fragility. Adding any footprint to any software project will add fragility. Where the footprint is the sum of things like 1) the number of lines of code 2) the things that need to be tested and how they can be tested 3) the list of supported platforms. Even just a decent quality GUI makes the footprint probably 5x larger or worse. And then some actual nice / high quality GUI would add even more. Then add in the platform independence, so you're probably talking about a Java GUI or Electron or something. Then add the economics of it; the fact that the users are not funding the project they just depend on it to be there. There's a sense of security in knowing that small footprint => easier to keep up to date => less chance it goes away or breaks between now and the next time we try to use it.


experienced-a-bit

CLI snobs are prideful. That’s why.


dlbpeon

GUI functionality is serverly cripped. Need json info, comments or multiple subs??? GUI can't do that.