What's your plan on possible user account terminations, if Google decides to act on their Terms Of Service?
> YouTube may terminate your access, or your Google account’s access to all or part of the Service if YouTube reasonably believes that its provision of the Service to you is no longer commercially viable.
They have clarified that this means they can terminate their services, not your accounts. However with recent balls ups it was easy to read it differently
When regular users visit youtube.com, they get a page with some videos on it. Regardless of whether they're logged in or not, there are videos there.
Banned users visiting youtube.com will just get a text page[0] with zero video content. Google will use all the dirty tracking tricks to make sure that banned users remain banned even when their IP or device changes.
I block doubleclick and randomly get a degraded YouTube page with no content outside the video box rendered. It also goobers up the browser history so you can't go to previous videos.
That's because you are randomizing your user agent, not because of the doubleclick ban. (source: had some problem, solved it by emitting a consistent but fake user agent to youtube. It sniffs UA, against all recommendations and common sense)
Well, if you can imagine that there is a world where people can use the same device in the same home to access videos (ever heard of families?), surely you can imagine that Google would not terminate all accounts used on that device because they have no clue who is watching what when they are not logged in.
I can imagine it would. My experience tells me it's not out of the question. With Google it's improbable at the moment, but it happened to me (someone got nasty under my ISP's CGNAT) with the other service which will remain unnamed.
It may not apply to this particular implementation, but users who've downloaded alternative YT clients (which offer ad-free experiences, or playback while the screen is off) an Android devices, may have their Google account flagged, even if the apps were sideloaded.
I'm fairly sure this applies to content creators, not consumers. To avoid storage and bandwidth for content that doesn't show ads but has a high maintenance cost.
If they really intended to remove the bandwidth cost from people watching youtube without ads they would start by implementing ad blocker detection.
Hmm. The reason doesn't look immediately obvious to me. What does your switching from Vanced to the official yt app have to do with someone's account getting suspended? Care to expand on it?
By using the official app then you get the ads, and won't be singled out as unprofitable by google. Hopefull as a result hopefully you won't be banned.
If the text hasn't been changed, what they say it means isn't relevant - they can still end up going for a different interpretation later and be entirely in the right.
Has it been verified in a lawsuit? It seems silly to give the benefit of the doubt in this situation. Especially when the grammar of the wording empowers them to do more than just terminate services.
As long as you don't use your account, it'll remain working. Google can't just ban 33% of the internet users (read: those with adblockers) over night without repercussions. If they'd, a YouTube clone with network effect would rise up right away. So they'll want to play some kind of other game. A long game (Manifest v3), a FUD game, who knows?
I've been consuming my YouTube videos via RSS and youtube-dl these days. I have a little python script that collects the video urls from the feed, downloads them, and then NewsBlur notifies me of the new videos.
NewsBlur has become the way I find new academic papers (arXiv/journal RSS feeds), consume the news, webcomics, and YouTube videos.
Youtube-dl is an incredible tool, and supports far more than YouTube. I was pleased as punch yesterday to discover that Shoshana Zuboff's talk (shared to HN) on a video site I'd never previously heard of was supported.
There are other related tools.
VLC, both the desktop client (Linux, MacOS, Windows), and to a somewhat lesser extent, the Android client, can also stream video, most certainly from YouTube. Given the superiority of playback controls and for Picture-in-a-picture / pop-up view, this is my preferred option for Android when I want video, generally.
mps-youtube is an absolutely amazeballs console-based YouTube client. It offers search (text, title, channel), playlists, preferred search context (music or all), playback (audio only, video, resolution), and local client(s).
My preferred mode is to curate a playlist off of various searches, and to play that back, either through mps-youtube, or another player capable of using a local file. A disadvantage of mps-youtube is an application-based API cap which doesn't seem to apply to other options.
mpv is a console multimedia player, successor to mplayer, which can integrate with youtube-dl via the '--ytdl' switch. This means you can stream any youtube-dl supported streaming service or target, from raw MP3s or Oggs, to YouTube, Vimeo, and numerous other online media platforms.
I've been making (slightly) increased use of RSS, but have yet to wire that into my media player(s).
All of the console options work in Android under Termux, a Linux-like console userland that's one of the very few things on Android which Does Not Manifestly Suck.
> "mpv is a console multimedia player, successor to mplayer, which can integrate with youtube-dl via the '--ytdl' switch."
No switch is needed anymore, mpv has built in support for youtube-dl now through the ytdl.lua extension which automatically uses youtube-dl when necessary. Simply run `mpv [URL]`
FWIW youtube-dl supports downloading from a channel directly, and with a flag can spit out a file with every previously downloaded video. So the next time you run youtube-dl itll just grab new stuff.
Could you elaborate on how you find new papers that you are interested in? Do you just subscribe to RSS sources and going through all of them? Or do you have some way of filtering?
I didn't know arxiv had an rss feed, I usually find interesting papers through reddit, twitter and paperscape. Do you do any filtering on the feed to find the good stuff?
No, but I've definitely thought of using sklearn's Naive Baye's implementation to give me paper highlights (a la Mendeley, minus Elsevier). You can train on paper abstracts you've previously found interesting/uninteresting.
Luckily arXiv RSS feeds are by category, so I scan the titles of all e.g. qbio papers for a day and add the interesting ones to my reading list.
ArXiv feeds are organized by category (more like tags in that papers could be cross-listed, but need a primary category). Daily traffic in different categories is very different. Eg, at some point I used to subscribe to hep-ph/hep-th/gr-qc and they combined to something between 50-100 papers a day. I’d mostly just scan the titles/abstracts, to pull out particularly interesting papers.
Sure :) Although it's not much more use than my description if I don't clean it up and write docs, so will have to do that first. Will let you know when/if I do :)
I agree. Unfortunately OAuth is impractical for this project, as it requires registering your application with Google.
Instead I've done my best to make clear how it works[0][1] and what is stored[2].
As mentioned in a sibling comment Google does not have a good track record with similar projects. AFAIK the only project that provides similar functionality is youtube-dl[3], which works the same way.
Important to note is that this functionality is optional; you do not need to log in with Google to store subscriptions or preferences. The main benefit currently is that it will automatically sync subscriptions with YouTube, otherwise I would recommend creating a new account on Invidious and then importing subscriptions from YouTube.
There's no way for me to verify that what you're running is the same as what you have in GitHub. And for anyone else running it. You should disable this feature.
Why should he? It‘s your choice to use it or not. If you feel uncomfortable, go and selfhost it. Or don‘t use it at all. But there is no reasoning to prohibit it for everyone.
Altruistically, it trains users that it is ok, which it isn't.
Selfishly, the author really does not want to be storing or even handling these kinds of credentials. It makes them a very juicy target for all kinds of bad actors. Imagine finding yourself in the middle of some kind of account hijacking nightmare that you have unwittingly enabled, having to deal with people who trusted you and have lost access to their account or have lost money because people accessed data in their account that allows for id theft.
Basically people should treat passwords (even other people's passwords) as radioactive material and not attempt to handle them unless they really know what they're doing.
The privacy policy of not storing passwords is nice but what about when they get hacked and the site starts uploading passwords to some attacker's website?
I am guessing that this service falls squarely into "prohibited by Google's AUP" and thus they don't have much of a choice. Either that or, to prevent clones like this one, Google has deliberately not exposed an API to do whatever this app needs to do.
Google has a history of disabling oath for services like these. There is also an invidious account system you can use to avoid using your Google account.
Breaking changes have been fairly minor and I haven't found them to be an issue for the project. It's also possible to anticipate most changes early (compile with `crystal --warnings all`).
I'm not sure I would recommend it for something on the scale of Apple or Microsoft, but for a personal project like this I've found it a very enjoyable experience.
> I've looked into it months ago and it seems that there are a lot of breaking changes on every release and this scares me from using it.
Don't worry, as soon as Auntie Apple, Uncle Uber or someone as large as Mr Microsoft goes and adopts Crystal as soon as it reaches 1.0, then we will all immediately run to learning it just like we all did for Kubernetes, Docker, Elixir, Go and finally with its great success and without any formal introduction, we have all wanted to purse learning Mozilla's new and most excellent general-purpose programming language:
If you included fairtrending.com into the trending page, that'd be a 100% reason to use this.
Unfortunately they took their page down since they didn't find it financially sensible (and after emailing them he doesn't want to open source it)
If you could implement real trending based on views/hours or some logical way that'd be amazing (understandably, this is open-source, so if I find the time I'd love to help too).
I have used that add-on for a while, but half the time the video's stop playing after a while.
Instead I now have a youtube container and have set firefox to open all youtube urls in that container. That way all cookies and session are contained.
What you can also do is delete all cookies and site data when you close your browser and then add some sites to a whitelist (github, HN, etc) in order to prevent having to login all the time. In combination with a good password manager that shouldn't be a big problem anyway.
I have used that add-on for a while, but half the time the video's stop playing after a while.
Instead I now have a youtube container and have set firefox to open all youtube urls in that container. That way all cookies and session are contained.
Essentially because it replicates the way a browser works, similar to youtube-dl. I would very much recommend taking a look through [0] for some more info, but one of the main goals of the project is to avoid use of any Google APIs. This also includes login, as mentioned in an earlier comment[1].
I was very confused at first. I didnt log into anything, yet https://invidio.us/ has plenty of creators from my YT subscriptions :o How the heck? Do the owner curate whats on the front page? I can only counts a couple video channels I have no interest in whatsoever (pie, h3, vox), or did Google finally started curating? No low value garbage on first page, something YT is usually struggling with. Still Peterson in related/recommendations tho.
The main algorithm is described here[0]. It's the most recent videos from the 40 most subscribed channels on the instance.
YouTube's recommendations are still used. They'll appear the same as if you viewed YouTube with a clean browser session, although you can disable them in your preferences if you'd like (under "Show related videos").
Woah, this is amazing! When you click on a video, it just stays in one place and loads. It doesn't jump around the page resizing itself while you attempt to hit the play button.
I tried writing a front end for youtube gaming to be able to list live streams of your subscriptions. Turns out the API doesn't expose this what I would assume to be a much needed bit of information. Discovery of live streams is hugely lacking compared to Twitch. Turns out that the API in general hasn't been really updated for half a decade, and the calls there appear to be focused on helping a channel owner rather than viewers
For that I'd suggest different approach: using FreeTube[1][2] client which carries subscriptions locally; you can export and import channels in FreeTube format, NewPipe and OPML. FreeTube uses invidious to fetch and play videos - among other two players; it's also possible to change the instance in case of any issues. Sadly, I can't tell if it's possible to import YT subscriptions since I don't use the service with Google account for years.
While an interesting project, at first glance I don't really see what this front-end brings to YouTube compared to the original front-end. Speed, maybe? But this comes at the cost the UX.
> I don't really see what this front-end brings to YouTube compared to the original front-end.
Well I don't want my Google account to be associated with the videos I watch. Nor do I want to be automatically signed into YouTube if I login to my Google account and watch a YouTube video.
As long it plays YouTube videos and it removes Google's tracking, then that is enough for me, UX changes is a bonus.
I've been using invidio.us for months. It brings me back to a simpler time on the web. The interface is straightforward, does just what I need it to and not more, it doesn't relentlessly spy on me, and I can have a separate non-Google invidio.us user account (which, again, Google can't data mine, auto log me into, etc.). I've always figured it'd get shut down at some point. I'd actually pay a small monthly fee to keep access to it and avoid Google's official YouTube interface.
Lots of people like the content on YouTube but don't like all the Googley parts.
I frequently watch YouTube over Tor, and they've started making me do lots of reCAPTCHAs and occasionally even rejecting me after I've completed the reCAPTCHAs.
HookTube is an improvement over the real YouTube interface in the sense that it never makes me do CAPTCHAs, except some proportion of videos don't work on HookTube, it just gives a black box saying "Watch this video on YouTube".
From a sample of 1 video that I couldn't watch on HookTube, it worked straight away on Invidious. So it's useful in that sense if nothing else.
No need to sign in for 18+ / age restricted video.
Within the past few days, YouTube's mobile website has changed the player, for me, removing:
- Removing double tap left/right to skip forward/back within the video.
- Removing mute audio control.
- Adding skip forward/back in playlist. A feature I never use (YT's suggestions suck, I curate my own playlist.)
For now, Invidious retains the old player controls, allowing me to mute annoying-ass video and skip forward/back to repeat / bypass interesting / annoying bits.
Actually I’ll take that back. Halfway though. Some videos go in streaming mode while others dont. Also some videos support pinch to fullscreen on IOS while others don’t. Youtube is weird
You can watch 1080p if you set "dash" as your default quality in preferences, or by adding `&quality=dash` to the end of a video URL. The reason it isn't enabled by default is that it requires proxying streams, which is more bandwidth intensive[0].
You shouldnt need to proxy anything, there are in browser js muxers that can splice separate video/audio streams into one, or find jsvideo player capable of playing it directly.
The most likely reason for the error is badly decoded signature. YT uses &sig as a "crypto" access token (lasting couple of hours last time I checked). I have zero trouble playing dash videos in standalone mplayer (after manually extracting two video audio sources and decoding proper signatures).
Ok, so CORS prevents from manual muxing/proper DASH player playback. How about two separate video audio tags with javascript synchronized playback/seeking?
Yes, 720p and past is only stored on the google servers with audio and video seperate. So, the only way to watch at those resolutions is for invidious to pass through the video.
I think there is a plan to get 1080p working though
I use YouTube Vanced on Android. It's essentially a modded YouTube that you can install alongside the real one without issues (it doesn't replace the standard app).
In all seriousness you hear creators talking about collapsing revenues due to adblockers all the time.
Bigger ones survive with tools like Patreon but if you're new with only a small fan base? (<10k) It's not viable anymore. The good thing about YT was always being able to take that passion full time.
Artists will always create content, but they will always need to eat too.
> Artists will always create content, but they will always need to eat too.
So do devs, which is quite often neglected when talking about open source. It often goes along the "well, then do it in your spare time"-line.
Maybe there is a huge gap between expectations and what we, as people, can actually do. There are a few who can make a living off of their channel, but you shouldn't start a youtube channel today, expecting to make some "big money".
The more traditional way would be to start small, gain more and more visibility over time, and at some point companies might be interested in "in-video" promotions, like LTT does.
Yeah, blame the adblockers. Google decided to not pay anything to smaller fish anymore.
> Artists will always create content, but they will always need to eat too.
Start out as a hobby, then maybe it'll turn into a job. You just need more patience and less expectations instead of the instant gratification. Golden days are long over.
How exactly does that pay for YouTubes storage, bandwidth and transcoding costs? How does that pay for music artists which request that their music is paid for when people are listening to it in background? Why the wierd double standard with YT?
In-video paid promotions are strictly for creators with hundreds of thousands and millions of subscribers. Small to medium creators still rely on algorithmic pre-roll and interstitial ads.
So this allows free bypass of features that YouTube wants you to pay for via Premium subscription.
Why is this acceptable for YouTube? Can we start building and publishing plugins that bypass paid subscriptions for other SaaS services here too?
This is especially strange for music - music artists (in my experience) usually want you to pay for playing their music without video via subscription or by buying an album. This allows complete bypass of that - it's essentially Napster again.
> YouTube may terminate your access, or your Google account’s access to all or part of the Service if YouTube reasonably believes that its provision of the Service to you is no longer commercially viable.
https://www.youtube.com/static?gl=GB&template=terms