BKSalman / ytdlp-gui

a GUI for ytdlp written in Rust
GNU General Public License v3.0
222 stars 10 forks source link

Usability : Display actual yt-dlp parameters, and possibly confirm download if different from user settings #8

Closed olivier-fs closed 10 months ago

olivier-fs commented 1 year ago

The ability to choose Video & Audio size / quality with radio buttons is fine. But what if the actual settings for the given URL are different ? i.e.

yt-dlp -F <url>

would return audio/video values different from settings ?

OK ffmpeg will convert, but it would be nice to :

BKSalman commented 1 year ago

I agree that a GUI is meant for people who don't want to deal with the CLI, and I do agree that showing the parameters and have some reference to the underlying CLI things, is a nice feature

so I will try to think of a way to bridge this gap, maybe display the actual commands used in some info tab or something

any recommendations would be appreciated!

also thanks for sharing your issues concerning the project! that helps me improve it!

olivier-fs commented 1 year ago

There are actually two parts :

  1. Display the actual download parameters : May be a static text display, kind of status bar under the progress bar, is enough ?

  2. Confirm change of parameters when those in the actual youtube streams are different from the GUI selected ones : Maybe disable the radio buttons for non-available choices after the streams have been fetched from YT, and display a status bar warning that some "next best choices" radiobuttons have been selected instead ? Maybe as a first version that's quite less work / less hard that adding a popup dialog or tab, though these could be much better for later versions.

Thank you ! yt-dlp is gonna be a great frontend.

BKSalman commented 1 year ago

Display the actual download parameters : May be a static text display, kind of status bar under the progress bar, is enough ?

I don't think this is quite needed, the user doesn't need to know the exact parameters used in the command, the front-end parameters are enough information for the user

Confirm change of parameters when those in the actual youtube streams are different from the GUI selected ones : Maybe disable the radio buttons for non-available choices after the streams have been fetched from YT, and display a status bar warning that some "next best choices" radiobuttons have been selected instead ? Maybe as a first version that's quite less work / less hard that adding a popup dialog or tab, though these could be much better for later versions.

I think a status bar with a message like "X quality was not found, downloading next heighest: Y quality" for change in video resolution will be good enough,

also I can just add --recode $ext to make yt-dlp recode the video in the desired extension if youtube doesn't provide it (that will use ffmpeg)

olivier-fs commented 1 year ago

Fine! The essential point is : warn the user. A status bar is great for this. ffmpeg: fine too : (I used to use "youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]'" rather than "-f best" and let ffmpeg reassemble both streams)

BKSalman commented 1 year ago

I'm thinking instead of making it a status bar, which will make it too cluttered, since I'm gonna add logs, I can just make it log the parameters used for the download with other log details

BKSalman commented 10 months ago

btw, I added logging, so I will close this issue, if the logging is not too great you can reopen the issue or make a new issue