[HN Gopher] Invidious: An alternative front-end to YouTube
___________________________________________________________________
Invidious: An alternative front-end to YouTube
Author : jerheinze
Score : 93 points
Date : 2021-09-20 06:55 UTC (16 hours ago)
(HTM) web link (docs.invidious.io)
(TXT) w3m dump (docs.invidious.io)
| tra3 wrote:
| Is anyone aware of a comparable iOS app?
| jqpabc123 wrote:
| How well does it work with subscriptions?
| waz0wski wrote:
| it has channel rss feeds you can put into $reader of choice and
| avoid any dependence on youtube account or tracking
| circleegg wrote:
| For all the greasemonkey heads out there:
| https://openuserjs.org/scripts/marcowahl/yt2invidious provides a
| button to conveniently switch from yt to invidious.
| Helmut10001 wrote:
| As a father of a three year old, invidious was a relief. He can
| now watch his 10Minute toons / day without all the other stuff
| and auto-continuation (that would turn on everytime after I
| disabled it). I self-hosted it through my own server, hosted at a
| remote site, through IPSEC, with 5000kbit upstream. Works with
| invidious!
| stalfosknight wrote:
| I wish Invidious would allow more than 720p.
| Gualdrapo wrote:
| I really like it. The UI is clean, but lately music videos won't
| play sometimes because "The media could not be loaded, either
| because the server or network failed or becase the format is not
| supported" (for example: https://yewtu.be/watch?v=3gy8hkVMqwQ),
| no matter what instance I try.
|
| Not sure if it's my own web browser, but this was not happening
| before.
| acco102 wrote:
| https://www.youtube.com/embed/3gy8hkVMqwQ doesn't work.
|
| https://invidious-us.kavin.rocks/watch?v=3gy8hkVMqwQ works.
| auslegung wrote:
| My YouTube usage is as follows. Open private Brave tab (prevents
| lots of tracking and all ads), search for a handful of channels,
| watch their new stuff, repeat in a day or two.
|
| How would invidious improve or help with that workflow? Again I
| already use a private Brave tab to prevent tracking and ads.
| Nextgrid wrote:
| Invidious provides RSS feeds from channels. You can do this
| with YouTube as well (or at least you could) but it isn't
| obvious. You add these feeds to an RSS reader and you have
| privacy-friendly subscription without Google creeping in the
| background nor annoying you with dark pattern and their
| perverted idea of GDPR "compliance".
| johnx123-up wrote:
| But, https://redirect.invidious.io/watch?v=x : As
| of September 1st 2020, invidio.us has closed down. To
| see this content, please select another instance, or visit
| directly on YouTube.
| 3np wrote:
| Having run both, I can recommend checking out Piped[0]. Crossover
| with the famous NewPipe Android app.
|
| IME Piped recently works a lot more reliably with high-res videos
| compared to Invidious. If you ever have "media not available"
| etc. Both generally work fine with embeds, so you can use link
| rewriters in other alt-frontends (nitter/teddit/searx/etc) to
| have proxied embeds.
|
| Piped can also be substituted for Invidious in Privacy Redirect.
|
| [0]: https://github.com/TeamPiped/Piped
| kiryin wrote:
| Invidious is awesome, I use it for all of my youtube guilty-
| pleasure needs. I really wanted to help with the project when the
| original developer gave up and development stalled a little bit,
| but crystal is kind of an esoteric choice, while interesting in
| it's own right. Syntax looks simple enough but I didn't really
| "get" all the features and tooling based on the documentation
| available. I guess it doesn't help that messing with youtube is
| rather complicated when you can't use the API.
| raspyberr wrote:
| I use Invidious with MPV and Piped (piped.kavin.rocks) in the
| browser. I find Invidious often doesn't work and Piped doesn't
| work with MPV.
| gizdan wrote:
| Invidious is great! Google's/YouTube's heavy push to accept data
| collection pushed me to use Invidious full time with little
| regret*.
|
| For those interested, you can use utilise Privacy Redirect (for
| Firefox[0] and Chrome[1]) to automatically redirect YouTube links
| to any Invidious instances. It also includes redirects for other
| OSS clients such as Nitter for Twitter, Bibliogram for Instagram,
| and others.
|
| * The only issue I've had is that it sometimes refuses to play
| some videos because the media cannot be loaded. Not really sure
| why that is, but I'm willing to accept that over data collection.
|
| [0] https://addons.mozilla.org/en-GB/firefox/addon/privacy-
| redir...
|
| [1] https://chrome.google.com/webstore/detail/privacy-
| redirect/p...
| mrzool wrote:
| I love invidious, but this:
|
| > The only issue I've had is that it sometimes refuses to play
| some videos because the media cannot be loaded.
|
| Happens to me with lots of videos -- about half the videos that
| I try to open if I had to guess. That makes Invidious pretty
| much unusable for me.
| gizdan wrote:
| Try setting quality to dash. This fixes the issue for me
| quite often, though not all the time.
| mrzool wrote:
| Thanks for the tip! I'll give it a try.
| brnt wrote:
| +1 for the Privacy Redirect plugin. Makes using Invidious (and
| some other platforms) a breeze.
| MayeulC wrote:
| The killer feature for me is that it also replaces embeds :)
| DarthNebo wrote:
| Wish YouTube could just nail a feature of preparing a temporary
| playlist, by allowing you to drag videos from a wall of new
| subscribed content & then play it without getting bounced off
| into auto-played recos.
| Orionos wrote:
| Isn't it the purpose of the new "Add to queue" feature? Hover a
| video add you'll see a "Watch later" and "Add to queue". Never
| used it myself.
| DarthNebo wrote:
| Oh yeah, just checked it out. I thought it would just do the
| "Watch later" action. From the subscriptions tab, it is
| easier to do this now.
| Nextgrid wrote:
| Invidious has been my primary way of using YouTube for over 2
| years now (combined with an RSS reader to use as
| "subscriptions").
|
| The official website is near-unusable in Safari and I dread
| clicking anywhere out of fear of causing a page reload/navigation
| and waiting for megabytes of JS to try to (poorly) reimplement
| existing browser behaviors.
|
| Invidious is blazing-fast in comparison. The lack of ads, BS and
| dark patterns is also a nice bonus but the primary advantage for
| me is speed.
| okamiueru wrote:
| Which RSS reader do you use?
| pixxel wrote:
| Not OP but I use https://www.inoreader.com as a YT feed.
| Nextgrid wrote:
| News Explorer - it's Mac and iOS only and uses iCloud to
| sync.
| Steltek wrote:
| Every time I see an alt-client for Youtube, I feel like this is
| quickly becoming the BitTorrent vs. Legit DVD/BD game all over
| again. Here's the thing: I pay for Youtube Premium. Aside from
| web pages, I'd say it's the biggest non-interactive medium that I
| consume. And that said, the official Android client
| SUUUUUCCCKKKSS.
|
| I don't care about blocking ads or downloads. I've already
| legitimately paid for those features. But I want screen rotation
| to not suck. I want comments to be easier to read. I want
| notifications and subscriptions to not be laundered by your
| shitty recommendation engine. And who the hell thought the Watch
| Later playlist should pop up/over when I try to play a video?! No
| one wants that.
|
| I don't mind paying for what I use but I feel like a real sucker
| when I get a shittier experience compared to pirates.
| okamiueru wrote:
| Good list. My biggest gripe is still that I cannot queue things
| on a mobile device. It seems like such a big omission.
| FractalHQ wrote:
| I've always used "watch later" as a queue- it's very easy to
| add videos to it while scrolling, then navigate to it and
| click "play all".
| danShumway wrote:
| I spent a decent chunk of time paying for Youtube Premium (Red
| at the time) and eventually I stopped signing in and started
| using NewPipe on my phone instead, even though I was still
| paying. Partially that was for privacy reasons, but the bigger
| reason is that NewPipe is just an improvement over the official
| app in just about every single way.
|
| Similar experience to you:
|
| - Downloads weren't reliable. I'm paying money to do this
| "legitimately", and my offline videos just stop working
| randomly, I couldn't trust that they'll still be there when I
| open my phone.
|
| - Battery life. Oh my goodness, battery life.
|
| - Device limits. I ran into scenarios where if I was signed
| into Youtube on my phone and desktop and I started playing a
| video, all of the other videos on every other device would stop
| and I would get a message shaming me about account sharing or
| something. This is a paid experience that's worse than just
| using stock Youtube without paying anyone. Stock Youtube
| doesn't have any device limits.
|
| - Notifications, recommendation engines, blegh... I can _turn
| off comments_ in NewPipe. I can turn off recommended videos
| entirely.
|
| - Patchy control over data usage. I never really felt like I
| could trust the app not to start downloading things over a
| mobile connection no matter what settings I checked.
|
| - Ads in the app for Youtube Red, the thing that I was already
| paying for. This kind of made me mad, I was paying to show
| support for a non-advertising model, and Google instead kept
| bugging me about exclusive Youtube Red content.
|
| - No good queuing system without making lists (this may have
| changed, I think the Youtube website supports queues at this
| point, so maybe the app does now as well).
|
| ----
|
| Eventually I stopped paying for Youtube Red because I didn't
| see what the point was and I couldn't figure out what I was
| accomplishing. I wanted to signal to Youtube that I was willing
| to pay for a better experience, but they weren't getting that
| message and I didn't seem to be communicating what I wanted to
| communicate. And since I wasn't using the official client at
| that point, none of my subscriptions were going to the channels
| I wanted to support, so I did the math and found out that
| direct donations were a much more economical/impactful way for
| me to support them. I was just donating money to Google for no
| reason.
|
| I'm willing to pay for services like Youtube if they were
| willing to put in even the bare minimum of effort on this
| stuff. But what am I paying for? The old Youtube Red app was
| _worse_ than using Youtube in a browser, and considerably worse
| than front-ends like NewPipe. I don 't think I'm being greedy
| or unreasonable asking Youtube for a button that lets me turn
| off video recommendations.
|
| Maybe the service has gotten better now, I haven't checked. But
| it doesn't sound like it has. The entire Youtube experience
| feels needlessly adversarial. It's not about piracy[0], it's
| not about consuming content for free. I spent a decent chunk of
| time quite literally giving Google money for nothing; giving
| them money even though I wasn't using their app. I am willing
| to pay for the infrastructure and hosting that Youtube
| provides.
|
| I just want a good experience, and there's still no option for
| me to pay Google for a _good_ Youtube experience. And giving
| them money doesn 't seem to be incentivizing them to fix any of
| it. It's really just embarrassing that a 3rd-party project
| using an unofficial API is so much better than every native
| client that Youtube is offering.
|
| ----
|
| [0]: Although to be clear, I do not believe that using NewPipe
| is actually piracy under any legal definition.
| jhallenworld wrote:
| Why can't we read comments on other platforms like Roku? Always
| I see a video on my TV and then wonder what the comments are,
| so have to find the video on my phone or computer.
| drcongo wrote:
| I'm surprised to hear that the Android YouTube experience
| sucks, I've long believed Google were deliberately making the
| iOS YouTube experience as awful as possible as some kind of
| lure to Android. The gripes list for iOS, browser or app, would
| well exceed the character count for a HN comment.
| spookthesunset wrote:
| All the apps, including the "TV device" (Roku, Apple TV) apps
| seem to be kept fairly in sync. This wasn't always the case
| but as of a few years ago, seems to hold true.
| Orionos wrote:
| Anybody using / looking for a heavy client (a desktop app) for
| Youtube? I'm currently working on that in C++ (Qt). For now it's
| just small window presenting a searchbar, the list of search
| results and suggested videos. Playing the vid / playlist is done
| by opening a separate vlc window.
| kragen wrote:
| Right now I'm using these kind of shitty shell scripts to
| download the videos, ls to list them, and mpv on the command
| line to play them. These use a file called "channels" which
| contains YouTube channel URLs and space-separated tags, like
| this:
| https://www.youtube.com/channel/UClaEdLrmti779-tyovta8zw
| grandpa amu hardware carpentry hacking
| https://www.youtube.com/channel/UCLt9kIslIa1ffiM8A04KORw wm
| levsha hardware hacking
|
| Here are the scripts, slightly cleaned up:
|
| snarf: #!/bin/sh echo "snarf $@"
| exec python3 ../youtube-dl -f '[height<769]' -i -r 1M -R 1 \
| --sleep-interval "${wait-227}" --max-filesize
| "${max_filesize-242m}" \ --no-mtime --playlist-end
| ${n-5} --write-info-json --add-metadata \ --write-
| description --write-thumbnail --write-auto-sub \
| --write-sub --sub-lang en,es "$@"
|
| snarf-tags: #!/bin/sh exec ./snarf
| $(./tag "$@" | shuf | sed 's,$,/videos,')
|
| search: #!/bin/sh exec ./snarf
| ytsearch10:"$(echo "$@" | sed 's, ,+,g')"
|
| resnarf: #!/bin/sh : ${1?Usage: $0
| foo.mp4.part} # example: garbage\ stuff\
| -zKLMCO0-How.mp4.part for x in "$@"; do
| x=$(echo "$x" | perl -ne 'm,(.{11})\.mp4,; print $1')
| ./snarf "https://youtu.be/$x" done
|
| tag: #!/usr/bin/env python3 import
| sys def match(args, line): return
| (not any('-' + word in args for word in line)
| and not any(word not in line for word in args if word[0] !=
| '-')) def main(args, input, output):
| for line in input: words = line.split()
| if match(args, words):
| output.write(words[0] + "\n") if __name__ ==
| '__main__': main(sys.argv[1:], open('channels'),
| sys.stdout)
|
| So my searchbar is "wait=3 ./search japanese hornets" or
| "./search electrochemical machining advances", and periodically
| I run "./snarf-tags" to download any new videos over the next
| few hours, which I can then see with "ls -lart ./*4". And if I
| want to know where some great search-result video came from so
| I can add it to the list of channels, why, that's "jq -r
| .uploader_url Romanes\ Eunt\ Domus\ EXPLAINED\ _\ Monty\
| Python\'s\ Life\ of\ Brian\ *\ Fun\ with\ Latin-
| UfH6gjxTTgE.info.json", which sounds horrible but it's really
| more like ^Rjq^A M-f M-f M-f ^K Ro<TAB>.
|
| Suggested videos and thumbnail display, not to mention buttons
| to press for the above things, would be a welcome addition, but
| thumbnail display is difficult in the terminal. Also, it would
| be pretty great to have a way to not redownload a video after I
| deleted it, and for youtube-dl to not wait the 227 seconds
| before deciding not to download a video because it's a four-
| hour snoozefest recorded livestream.
| scns wrote:
| Great. My first thought was: The inverse of (dual to?) the
| infamous Dropbox comment
| kragen wrote:
| Haha! Yeah, I definitely don't mean to imply that the UX of
| these scripts couldn't be improved, just that these are
| some bits of functionality that I've found useful, and some
| very simple ways I've found to implement them that
| nevertheless worked pretty well. And, maybe as importantly,
| it may not be hard to have better UX than 25 lines of shell
| scripts, but it's even easier to have worse UX, so this is
| kind of the minimum bar for acceptability.
| scns wrote:
| Yeah, there was zero implication about UX on my part
| though. Instead of just dismissing it with a: "I can do
| that in 30 lines of Python", you just delivered a
| solution that works for you and can be built upon by
| others. Good job, praiseworthy IMHO.
| kragen wrote:
| I think UX was precisely the way Dropbox won.
| CGamesPlay wrote:
| Thanks for this! I'm going to be rigging something like this
| soon, and I have a lot of feature crossover with what you've
| done here.
| kragen wrote:
| Sure! I hope it's helpful!
| VortexDream wrote:
| That seems interesting. I'd give that a try. I'm not satisfied
| with any clients I've tried so far.
| Nextgrid wrote:
| There's already some competition in this space:
| https://flavio.tordini.org/minitube
| southerntofu wrote:
| I think a lot of people are looking for that. This is
| especially true for folks with lower-end hardware where
| hardware decoding may be supported by the system but not (well)
| by the browser, or at least the rest of the browser runtime
| would use way too much resources.
|
| NewPipe on Android is somewhat popular because it's much
| lighter than other Youtube clients (browser included) and
| enables features which Youtube official clients prevent on
| purpose (audio-only, download). We don't have an equivalent to
| that on the desktop. gtk-pipe-viewer [0] is close to that, but
| is not widely available yet.
|
| A problem you need to tackle when distributing a 3rd party
| client for a centralized network is you have to deal with
| constant micro-changes in the public-facing API, which the silo
| does on purpose to break 3rd party clients. youtube-dl from
| distro repos is almost unusable all the time because of that
| except on rolling-release (most people use pip version
| instead), and Newpipe had to make their own F-Droid repository
| because f-droid.org vetting/build process is too slow for that
| particular usecase. [1]
|
| EDIT: If you're looking for solutions to distribute your
| client, packaging for every distro out there is "hard" (better
| leave that to distro maintainers, except for your favorite
| distros of course) but there's a few distro-agnostic formats
| that are very easy to automate builds for: 0install, AppImage,
| Flatpak, guix, nix. The first two are statically linked (and
| PGP signed) and 0install is even compatible with Mac and
| Windows build (and any other platform, theoretically). Flatpaks
| are more Linux specific (some *BSD support in progress) and
| require a bit more setup to interface with other parts of the
| system escaping the sandbox (eg. for VAAPI), see the Portals
| mechanism. nix/guix are intended for reproducible builds: you
| need to package your dependencies first so it's definitely
| easier to get started if most of your dependency tree is
| already packaged there.
|
| All in all, supporting those 5 build systems should keep you
| busy for a few days at the start of your project but will be a
| huge win for portability and maintainability in the long run.
| If your project's architecture is not too complex and the
| dependencies are easy to package, some external contributors
| (me?) could help with that.
|
| Good luck on your project!
|
| [0] https://github.com/trizen/pipe-viewer [1] As a user i'm
| happy f-droid.org default repo goes to great length to ensure
| quality of apps on there and that no antifeature are silently
| introduced by updates, but i'm also happy apps with specific
| needs for rapid upgrades like Newpipe can develop their own
| repo, and a simple QRCode can help bootstrap the repository
| entry + PGP key without having to mess around with repo
| settings manually
| Orionos wrote:
| > I think a lot of people are looking for that. This is
| especially true for folks with lower-end hardware where
| hardware decoding may be supported by the system but not
| (well) by the browser, or at least the rest of the browser
| runtime would use way too much resources.
|
| That's what I'm trying to archieve with a C++ client. I feel
| like picking C++ with Qt is the best in terms of portability
| and performances. As a Youtube binge watcher I feel like I'm
| wasting resources by going through a browser. Honestly that's
| still really basic. A few API calls for search and
| recommended, and then delegate the core functionalities
| (playing and downloading media) to vlc and youtube-dl (need
| to switch to the new and maintained equivalent btw)
|
| > If your project's architecture is not too complex and the
| dependencies are easy to package, some external contributors
| (me?) could help with that.
|
| I plan on doing some cleanup and post an MVP on HN, I'll keep
| you updated!
| parmezan wrote:
| Alternative yt desktop app is https://freetubeapp.io/
| stragies wrote:
| Or the native cross-plattform opensource Minitube from
| https://flavio.tordini.org/minitube . Is already available on
| most systems through the package manager.
| sysadm1n wrote:
| Does anyone know: Do tools like this bother the people who
| created Youtube in such a way that they feel sort of defeated? Or
| are tools like this welcomed. I don't imagine Invidious hurts
| their bottom line that much. In the end: it's just geeks having
| fun, right?
| harpersealtako wrote:
| Does it not work for livestreams? I can't watch any currently-
| airing channel I follow on it.
___________________________________________________________________
(page generated 2021-09-20 23:02 UTC)