Open ANONYMOUS134y6 opened 10 months ago
Have you read over the MacOS section of the README yet?
Yeah, it was to complicated for me
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.
@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:
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.videodownload
if not specified. I'd argue most people using this app are downloading videos - other options could be used if desired../TwitchDownloaderCLI https://twitch.tv/videos/12345
, which would just use the ID for the filename in the current path - ./12345.mp4
.ffmpeg
if it isn't found. Just say "We couldn't find ffmpeg installed on your computer. You need to install it to continue." Then give an option to cancel if the user doesn't want to now, or they want to use their own package manager. If they do, just hook into the ffmpeg
install process, then return it right back to where they were.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!
- 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.
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
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