TeamNewPipe / NewPipe

A libre lightweight streaming front-end for Android.
https://newpipe.net
GNU General Public License v3.0
31.01k stars 3.02k forks source link

Remember audio quality selection when downloading #8243

Open VaclavTrpisovsky opened 2 years ago

VaclavTrpisovsky commented 2 years ago

Checklist

Feature description

When downloading a video, I am prompted with a filetype (Video/Audio/Subtitles) selection screen. The filetype selection is remembered (previous selection is chosen as default) and affects what options are presented below: video quality, audio format&quality or subtitle language. The video quality selection is remembered but audio always defaults to 128kbps m4a.

Why do you want this feature?

When downloading audio, I either optimise for file size (either 48kbps m4a or 50kbps opus, does not matter that much) or, less often, quality (160 kbps opus). Neither of these is the default option. I would welcome if my last choice was remembered for ease of use, or at least, if a more sensible selection (50kbps opus or 160kbps opus) was chosen as default.

Additional information

Low priority

VaclavTrpisovsky commented 2 years ago

Forgot to mention: Tested on 0.22.2 and 0.23.0 RC1

notaLonelyDay commented 2 years ago

What should be remembered if previous audio quality is not available??

VaclavTrpisovsky commented 2 years ago

What should be remembered if previous audio quality is not available??

Good point. I would suggest the closest one by bitrate, no matter the codec (opus and aac are similar in compression ratio anyway). Also, please don't overwrite the "previously selected" quality setting if such fallback value is used.

opusforlife2 commented 2 years ago

no matter the codec

The codec matters to those who wish to use royalty-free codecs only, instead of patent-encumbered ones.

VaclavTrpisovsky commented 2 years ago

opusforlife2 commented

Well, I get this but

However, I am not the one who will be making the choice, as I am not a NewPipe developer, thankfully.

opusforlife2 commented 2 years ago

you don't really get to choose which codecs are used

True. There's an issue open for that. (I'm assuming you're talking about opus and m4a, because you can choose between VP9 and AVC for videos).

VaclavTrpisovsky commented 2 years ago

I'm assuming you're talking about opus and m4a

This thread is for audio-only downloads. I opened this issue because the audio download lacked a feature that video download already had. I don't have much experience with video downloads but if you want improvement for those, please create a new thread and maybe let me know.

For audio, YouTube only "offers" opus and m4a AFAIK, and if 160kbps opus is not available, 50kbps opus is not either (in my experience, feel free to prove me wrong). So you still need to use m4a as the fallback format, and therefore my proposed strategy makes sense even in your use case.


By the way, has a task list, timeline or assignment for this enhancement been made? I am not very familiar with Github so I'm trying to apply Bugzilla logic... I'm not in a hurry but would like to know if this issue is going to be addressed along with #8035, later or TBD.

opusforlife2 commented 2 years ago

By the way, has a task list, timeline or assignment for this enhancement been made? I am not very familiar with Github so I'm trying to apply Bugzilla logic... I'm not in a hurry but would like to know if this issue is going to be addressed along with https://github.com/TeamNewPipe/NewPipe/issues/8035, later or TBD.

@VaclavTrpisovsky No, Newpipe has a small volunteer team. People work on what they have time for, and sometimes contributors take up issues they like as well. So there is no timeline here. If you're lucky, someone will take this up soon.

notaLonelyDay commented 2 years ago

Hi, @mhmdanas I would love to work on this issue. Please assign it to me.

notaLonelyDay commented 2 years ago

@VaclavTrpisovsky @opusforlife2 what do you think about this flow

for every quality save last used time and then when downloading just sort available qualities by last used time and select the most last used??

Maybe it is better than by bitrate? Because to my mind usually you need requested feature to download a lot similar videos and they have the same qualities available so there wont be any misses like previous used quality is not available

opusforlife2 commented 2 years ago

The video quality selection is remembered but audio always defaults to 128kbps m4a.

@VaclavTrpisovsky Actually, now that I think about it, that happens because you have M4A as your default audio format in settings. If you change that to Opus, that would solve your issue as well, by always having 160 kbps Opus pre-selected.

or every quality save last used time and then when downloading just sort available qualities by last used time and select the most last used?

@notaLonelyDay Sounds okay to me. 👍

obar commented 1 year ago

I found this issue via the search; happy to see this minor UI hiccup I was about to report is already being discussed.

that happens because you have M4A as your default audio format in settings. If you change that to Opus, that would solve your issue as well, by always having 160 kbps Opus pre-selected.

This worked for me (though "Opus" wasn't an option in that menu, it was WebM) and as you point out it defaults to 160kbps without a settable preference. I do think the "default to the last intentionally selected mode" behavior proposed here might be more intuitive and doesn't require changing the playback mode. It already seems to work this way for the video/audio/captions selection.

It's an interesting point about the behavior when the preferred format isn't available. I can see benefits in either way and I expect it'll be a rare case. Either way, it could be useful in case to draw attention to it. Only when this happens, perhaps show the following just below the format selection:

Remember this as the default download format for next time {switch, default off} Your previous default, {Opus 70kbps}, isn't available for this download

emailbin commented 1 year ago

Would there be a way to always automatically select the smallest quality, and thus also the smallest file size? I use the audio downloader to download only spoken material and then use it as an audio book for long journeys or walks.

VaclavTrpisovsky commented 1 year ago

Would there be a way to always automatically select the smallest quality, and thus also the smallest file size? [...]

These are not the same. About ¼ to ⅓ of videos are smaller as 50kbps opus than 48kbps m4a for some reason. My suggested implementation would solve this, though.

SameenAhnaf commented 1 year ago

@notaLonelyDay Are you still willing to work on this? It's ok if you are not able to contribute. But please let us know.

daakadence commented 8 months ago

@notaLonelyDay Can I bump this request in case you've found the time? I think it would add value to users who, like me, have limited data plans and prefer LQ downloads on the go. I usually DL ahead of time, but also prefer smaller files for the space (I mostly listen to comedy so the fidelity is not an issue). If we could opt out change to last set with a fallback to m4a-128 that would be awesome. Thanks

axu2 commented 6 months ago

Indeed, I always download the smallest opus and would love it to remember instead of defaulting to 160k opus.

I play the audio using AntennaPod using the local folder podcast feature.