lay295 / TwitchDownloader

Twitch VOD/Clip Downloader - Chat Download/Render/Replay
MIT License
2.66k stars 260 forks source link

MacOS just shows me a bunch of coding stuff #878

Open ANONYMOUS134y6 opened 10 months ago

ANONYMOUS134y6 commented 10 months ago

Checklist

Edition

Unsure

Describe your issue here

I need further help on how I can use this program on mac because I keep getting code everytime I load this up. Anyone know how to resolve this issue?

Add any related files or extra information here

No response

ScrubN commented 10 months ago

Have you read over the MacOS section of the README yet?

ANONYMOUS134y6 commented 10 months ago

Yeah, it was to complicated for me

ScrubN commented 10 months ago

The following video is designed to help new users get comfortable working with the MacOS terminal. Please try following it and see if it helps you better understand how to setup and use TwitchDownloaderCLI. https://youtu.be/aKRYQsKR46I

If you have any suggestions on how we could make TwitchDownloaderCLI easier for you or other users, don't be afraid to mention it.

dougc84 commented 10 months ago

@ScrubN People are scared to death of command line tools. Why? I dunno. People think they're gonna break their computer or something silly and don't have the patience to look at a terminal window.

That said, I'd argue that the command line interface could be simplified for certain scenarios. It would be a really clean experience to be able to run through the loop like this:

And, if you really want to take that one step further, you could make the app interactive. Just run ./TwitchDownloaderCLI and you could get something like:

> ./TwitchDownloaderCLI

What would you like to do?

1. Download a video
2. Download a chat
3. ...

Choose an option and press enter to continue, or press q to quit: 1

What is the URL of your video?: https://twitch.tv/videos/12345

What do you want to call your file (press enter for 12345.mp4):

If you simplified the command line, you could easily create a GUI for each platform that just takes a URL and it downloads the video. Could be neat!

ScrubN commented 10 months ago
  • Allow simply passing in the URL to the video, instead of specifying an ID. An ID is easy enough to parse out - if it starts with https, find the ID from the path. Throw an error if it couldn't be found. IDs are simple, but most users don't understand what an ID is, let alone how to get it from a URL, and then having to paste it on a command line where you can't just put your mouse somewhere and type. Save them the step.

This is already possible.

  • Set the default type to be videodownload if not specified. I'd argue most people using this app are downloading videos - other options could be used if desired.

I see the idea and reasoning, but this isn't natively supported by the argument parser and would require an ugly hack that could have other consequences.

  • Set a default name for the video if one isn't given. Doing this, in combination with the above-mentioned items, could make the execution as easy as ./TwitchDownloaderCLI https://twitch.tv/videos/12345, which would just use the ID for the filename in the current path - ./12345.mp4.

I have been wanting to have some form of templated name generation for quite a while, maybe I'll actually get around to implementing it.

I just had an idea; --output will be made optional and if no output is given, a name will be automatically generated and placed in the current working directory. If --output is given but the path ends in a directory character, it will also generate a name for the output file and place it in the given directory. If the directory does not already exist, it will also be created. Does this sound reasonable?

And, if you really want to take that one step further, you could make the app interactive. Just run ./TwitchDownloaderCLI and you could get something like:

I have thought many times about a repl style interface and how it would behave. I'm a bit conflicted on how it would be implemented both on the frontend and backend. I'm not a huge fan of the idea that you just rust ./TwitchDownloaderCLI as it may give some users the impression that this is a repl only tool. I've also thought about using a TUI framework such as Terminal.Gui for a more versatile application, but that's also a lot of work.

If you simplified the command line, you could easily create a GUI for each platform that just takes a URL and it downloads the video. Could be neat!

There exists already a project that does this for Linux systems written in C. If you have a Mac, you can help port the code to MacOS as well. As far as I know it uses a platform independent library for building the UI. The project is linked in the README.

SputNikPlop commented 7 months ago

If you simplified the command line, you could easily create a GUI for each platform that just takes a URL and it downloads the video. Could be neat!

There exists already a project that does this for Linux systems written in C. If you have a Mac, you can help port the code to MacOS as well. As far as I know it uses a platform independent library for building the UI. The project is linked in the README.

This could be possible but I think long term it would be a lot of maintenance it might not be worth. Maybe a web ui of some sort that interacts with the cli or just for mac maybe to cut down time try and get a mac binary working of https://github.com/schneidermanuel/TwitchLeecher-Dx