Invidious: [Discussion] Removing the download feature

Created on 8 Dec 2020  路  8Comments  路  Source: iv-org/invidious

Edit: After discussing it in the Matrix room with some people we ended with a middle ground: https://github.com/iv-org/invidious/issues/1554#issuecomment-741041928


I think removing the download feature of Invidious is a good idea.

First: Invidious isn't really meant for downloading content, people should use youtube-dl (or better, youtube-dlc), or whatever front-end for it they want.

Second: Allowing download mean that we also have to handle potential copyright claim (where instance owners basically have to disable the download for a video ID, manually (from what I know, one by one), in their configuration file).

Third: waste of bandwidth, waste of UI space, waste of development time (it's currently broken for example, meaning someone will have to spend time fixing that: #1550 ), waste of code...

Fourth: max quality is 720p (and the available qualities (360p-720p) are basically the worst of youtube since it's AVC+AAC), because invidious can't mux the output.

Basically, it's useless, but require stuff from everything (instances, bandwidth...), and everyone (developers, instance maintainers...).

I'm interested in what the community think though, so feel free to post your opinion.

discussion

Most helpful comment

After discussing it in the Matrix room with some people we ended with a middle ground:

TL;DR: allow audio / video+audio download, disabled by default, cleaner UI


This is what needs to be done:

  • Move everything related to download to its own file (ping @matthewmcgarvey ) > Cleaner code

  • Put the whole download UI in a <detail> (idea and existing implementation by @julianfoad here) > Cleaner UI

  • Make download disabled by default > No more bandwidth speed waste on instances that aren't configured completely

  • Remove the message displayed when download is disabled > Cleaner UI

  • Stop proxying downloads, download from googlevideo > No more bandwidth speed waste

  • Remove the ability to disable download on certain video ID (IE: download is all or nothing) > Simpler code

  • Only display: the best audio only opus - the audio only aac > Simpler UI + Cleaner UI

  • If enabled with a (new) setting also display: the 360p video+audio - the 720p video+audio

(ping @saltycrys if you want to start working on that, might be a good idea to "Move everything related to download to its own file" first though)


If you are okay with that thumb up this comment, if not thumb down and explain in another comment.

All 8 comments

Another thing is that videos aren't muxed (I think) so, the maximum resolution you can download at is 720p.

@FireMasterK Yep, true, I'll add that.

Just to help me understand this:
What is the difference in bandwidth between serving an embedded video in HTML and serving one as a file for download?

@CSDUMMI

Bandwidth: none. Bandwidth speed however:

To load a 10 minutes video in streaming, you basically need 10 minutes.

To download it... well you might need a second, meaning you have a bigger impact than users streaming content (you can download 100 hours of content in 1 hour, wasting 100 times the bandwidth a user streaming the content is using)

After discussing it in the Matrix room with some people we ended with a middle ground:

TL;DR: allow audio / video+audio download, disabled by default, cleaner UI


This is what needs to be done:

  • Move everything related to download to its own file (ping @matthewmcgarvey ) > Cleaner code

  • Put the whole download UI in a <detail> (idea and existing implementation by @julianfoad here) > Cleaner UI

  • Make download disabled by default > No more bandwidth speed waste on instances that aren't configured completely

  • Remove the message displayed when download is disabled > Cleaner UI

  • Stop proxying downloads, download from googlevideo > No more bandwidth speed waste

  • Remove the ability to disable download on certain video ID (IE: download is all or nothing) > Simpler code

  • Only display: the best audio only opus - the audio only aac > Simpler UI + Cleaner UI

  • If enabled with a (new) setting also display: the 360p video+audio - the 720p video+audio

(ping @saltycrys if you want to start working on that, might be a good idea to "Move everything related to download to its own file" first though)


If you are okay with that thumb up this comment, if not thumb down and explain in another comment.

Stop proxying downloads, download from googlevideo > No more bandwidth speed waste

I feel this should be an optional thing in the config, some instances may have a lot of bandwidth, or may not be charged for bandwidth (eg. Cloudflare's bandwidth alliance).

@FireMasterK In my opinion the bandwidth should be used for streaming as much as possible. Also, almost no instances can get more than 1Gbit, and a gigabit goes quickly with thousands of users.

Superseded by #1563

Was this page helpful?
0 / 5 - 0 ratings

Related issues

SebKranz picture SebKranz  路  3Comments

EstherMoellman picture EstherMoellman  路  4Comments

Uffje picture Uffje  路  3Comments

stodge picture stodge  路  4Comments

Rb4eogrl picture Rb4eogrl  路  3Comments