JunkFood02 / Seal

🦭 Video/Audio Downloader for Android, based on yt-dlp, designed with Material You
GNU General Public License v3.0
11.6k stars 501 forks source link

[Feature Request] Show the final yt-dlp command of the selected options #976

Open Bakr-Ali opened 1 year ago

Bakr-Ali commented 1 year ago

Checklist

Is your feature request related to a problem? Please describe.

I want to be able to view the final yt-dlp command that seal will execute when I hit "Download" after configuring the download options. This will be useful for advanced users to quickly confirm the options they chose, as well as for beginner users (like me) who want to familiarize themselves with the commands to use on desktop (I thought about this feature while struggling to replicate Seal's options on desktop).

Describe the solution you'd like

Add an option to show the yt-dlp command that will be executed at the bottom of the "Configure before download".

Video link

No response

Additional context

Meanwhile, can you please redirect me to the source code that defines what arguments will be added by each option in the "Configure before download"?

JunkFood02 commented 1 year ago

Currently you can view the options in a tricky way, go to Settings - General, and enable "Detailed output", then input a wrong or mistyped URL, the arguments should be in the error report.

You can also refer to the source code

Bakr-Ali commented 1 year ago

input a wrong or mistyped URL, the arguments should be in the error report.

I've enabled "Detailed output", but the arguments are not showing up in the error report.

Screenshots

You can also refer to the source code

Thanks for the reference! I'll look into it.

JunkFood02 commented 1 year ago

I've enabled "Detailed output", but the arguments are not showing up in the error report.

The part of extracting playlist is not included in the yt-dlp part. it's a part of the dirty work under the app code so i suggest not to touch it 😂 it should be rewritten in the next major release

If you're especially interested in this feature, you can take a look at --flat-playlist -J(for extracting info) and --playlist-items(for downloading specific videos)

Bakr-Ali commented 1 year ago

If you're especially interested in this feature

My bad, I should have included a screenshot for a normal (mistyped) video link too since I tried it too but it didn't work (I've confirmed that "Detailed output" is enabled):

JunkFood02 commented 1 year ago

Oh, I think it should be in the unreleased next beta version 😂 Please wait for it. Sorry for the inconvenience

GfEW commented 9 months ago

@JunkFood02 It's nice for sure I finally discover this feature is already there!

EXEMPLARY PERSONAL EXPERIENCE I've thought it should exist, so many times. But I couldn't find it at any of the places in the App where you'd expect it to be - at the format selection view before the real download, or in the menue there, or in the ongoing/finished download dialog, or even as a "show/hide command" option in the settings. So, I've stumbled across this existing feature request only today when I had prepared everything to actually file and elaborate the feature request, and searched for similar existing issues, first. I've then also learned from your answer here that the feature, albeit somewhat obscure, is already there, and where. However, the above paragraph describes a rather convoluted way to spotting such a simple feature. I think that the UI element that allows to display the actual yt-dlp command deserves to be reasonably obvious/prominent/accessible.

REASONS:

  1. For one thing, collaborative bug hunting by common users (including non-developers trying to find reproducible triggers in Seal) would be easier if they could easily view and provide the actual yt-dlp command, including all employed options and arguments, that is used internally by Seal in a self-explanatory way. Being able to copy&paste it e. g. in github discussions would be handy, at times.
  2. The primary reason this feature idea was high on my (personal, offline) list long before finding this existing request is, _it would greatly facilitate learning custom yt-dlp commands, bridging the comprehension gap between "GUI only" and "CLI only" modes_: . On every change of options in the App GUI, you'd then be able to see the corresponding change in the commandline. . You could copy and reuse tbe commandline as a custom command, and more importantly, even add your extra custom options on top, without having to also manually rebuild the entire lengthy options string that GUI mode creates for you automatically (based on your choice of options available in the App GUI).

COSTS: I suppose that implementation takes sime time, whilst maintenence costs of such an improved, more obvious, self-explanatory presentation of the yt-dlp command, once implemented, will be negligable.

CURRENT STATE: That all being said, I'm currently unable to use this feature, even with the "secret knowledge" of how it's meant to work.