Hacker News new | past | comments | ask | show | jobs | submit login
An open-source browser extension to auto-skip sponsored segments on YouTube (github.com/ajayyy)
86 points by phiresky on Dec 9, 2019 | hide | past | favorite | 101 comments



Ah ha -- this isn't to skip ads, it's to crowdsource the time segments in YouTube videos where sponsored content is part of the video itself, to skip the segment itself.

I love it technically... but sadly I have hard time believing it will ever work in practice, though maybe I'm just a cynic. :(

Simply because it needs a dedicated base of people always keeping up with all the videos coming out each day who actually will go to the work of rewinding, tagging, fast-forwarding, tagging again, continuing when all they really want to do is just sit back watching a video.

Crowdsourcing for things like adblockers or Wikipedia work because the content changes slowly and is evergreen. But popular YouTube videos rotate very quickly and then sink into a long tail.

I'd love to be proven wrong, however. :)

(One way of possibly increasing adoption, however: I'd love if the extension automatically ended videos when they jump into the "subscribe now!" trailer at the end, especially for talk show segments, and immediately jumped to the next video in the playlist if there is one. They're always the same length for each show, so very easy to keep up-to-date.)


Perhaps this is just phase one, to build a dataset out of YouTube videos and sponsored promotions. Phase two could be training a classifier on the dataset. Then, the classifier watches a few minutes ahead of the user, skipping any in-content ads.


Sponsorblock developer here. The best part is that I made the database completely public, so someone else can do "phase 2" without me even having to be involved :)


On the one hand, classification might be a bit easier given that YouTube auto-generates transcripts -- so it only has to work on text.

On the other hand, I just don't think it's possible -- it's going to have way too many false positives, because there are already so many unsponsored YouTube videos that review products or tell their customers to buy things, and there's very little actual text involved in the sponsorship segment. And you've got to 1) identify that there's a sponsored segment at all which is hard enough, but then 2) accurately detect where it starts and ends, which is even harder.

And if this ever did manage to work on existing videos, it just turns into an arms race which neutralizes it -- sponsors will require content creators to be more creative in how they embed the sponsorship so that they only get sponsored as long as the segment makes it past the classifier.


It would have to be quite the classifier, since the advertisers would be able to test against it and try to break it. False positives would heavily impact usability.


I've been using it and it's made my YouTube experience much better.


Same. I have been using it for a few months now, both as a user and a contributor (of times).

It has not let me down once, and genuinely makes YouTube tolerable again


This had to happen, right?

It reminds me of Adblock Radio [1, 2], which blocks ads on radios using several techniques (it has nothing to do with the Adblock browser extension).

Maybe they could share some knowledge, especially on things based on sound analysis? Seems hard to do for sponsored content though (nobody would be able to talk about $PICK_A_POPULAR_VPN on YouTube anymore, ah ah).

[1] https://www.adblockradio.com/

[2] https://news.ycombinator.com/item?id=21057684


Well this wouldn’t happen if creators were more picky with their sponsors and there was more variety. As it stands, there’s only a few legitimate sponsors (so you would’ve already heard of them from other videos) and the rest is dubious garbage like VPNs and pay-to-win mobile games).


Exactly. I made this only because I couldn't stand how deceptive many modern sponsors are. If that didn't happen, I wouldn't have wasted time making this.

- sponsorblock dev


The problem is you'd need to download the audio from YouTube first to analyse it. Or even the video if it would somehow detect it from image. Not only is this slow, but also against the terms of service. With a podcast you already have the audio.


I'm a happy uBlock Origin user but this one just seems unfair to content creators.


You don't have a right to make money by manipulating impressionable people into buying things that they don't need.

Or maybe you do because of free speech, but you definitely don't have a right to have other people not try and stop you from succeeding.


And you don't have a right to have your cake and eat it too.

It's astonishing how many people on HN believe it is okay to shaft the sponsors of the content they enjoy and consume. What ever happened to "don't bite the hand that feeds you?"


So I pay for YouTube Premium. I also have a Twitch Turbo, a Netflix 4k family, a Disney+ bundle with enhanced Hulu, HBO, Amazon Prime, Spotify Premium, and I'm sure others I'm forgetting. I also have a few of my favorite creators on Patreon directly. I donate more monthly to free/open software than I spend on licensed software/games. Am I really giving the shaft to the content because I want to skip the ad segment or are they giving me the shaft for trying to force ads on me even though I've already paid for the content twice?

I don't want to hear your catchy jingle, get your brand stuck in my head, or hear about the same damn 3 services 1000 times. I just want to pay for content and watch it. It's not possible without something like this.

Is everybody using this service like me? No. That doesn't make them wrong either though, it's not like there was an alternative option they could have picked that would have let them avoid these segments "officially".


I object to someone trying to influence me, just because they're paid to. Don't you?


Then don't watch sponsored channels?


And if the only fast video sharing site is teeming with these kind of videos? What would a sane man do?


Support the content creator with Patreon and then skip the in-video sponsorship with a clear conscience.


Maybe my extension will convince some youtubers to offer non sponsored videos on patreon. That would be the dream result of this extension.

Even nebula (CGP Grey and Kurzgesagt's steaming platform) sadly doesn't enforce this.


While I'm not partial to ads, it costs money to make content. If you don't want to pay for that content, it seems unseemly to deny the content creator the income stream they've created, instead of just not viewing the content.

Of course ads are getting more and more obnoxious, so there's a lot of gray here, especially as I'm finding mobile sites almost unusable thanks to advertising.


If the social "contract" that the content creator is offering is that you must watch the ads to view the content, I'd be somewhat partial to your argument. As an example MLG does (used to do?) that, and I just didn't watch their content as a result.

That's not the social contract that either youtube itself or youtubers are offering. You can skip the ads, they make no attempt to block you from watching the video if you skip the ads.


It's not even gray. There is no obligation to view their attempts at manipulation.


wouldn't that be stealing by defintion though?

Get something for nothing.


Stealing isn't getting something for nothing its a crime based on the inherently rivalrous nature of physical things.

You and I can't both eat the same sandwich or park in the same space. We decided to adopt a complex set of rules for parking spots and sandwiches to keep people from settling matters for themselves by punching and kicking each other so we can go about all the other fun things that make civilization go. Re-purposing it to mean me doing or not doing something that will profit you is intellectually dishonest.


Stealing involves depriving someone something that they are entitled to. That is not happening here, so no. This is far farther from stealing than even copyright infringement, and even that does not qualify.

(It would be approximately equivalent to copyright infringement in the case that the creator only gave you access to the videos upon you signing a contract that required you to view the ads to watch the video).


Why? There's zero way for sponsors to know whether the sponsorship segment was skipped over or not, I assume? They'll continue paying the same, no?


If this gains wide adoption it just becomes a part of the decision for sponsorship agreements. I can guesstimate if the viewers from a specific youtuber use this tool by how quickly data appears after a new video. If I estimate that 20% of viewers skip the sponsorship segment then the sponsorship is worth at most 80% of full price.


There is a way to for sponsors to tell whether the segment was skipped or not, it's what they're all using: Counting how many purchases they got from a specific ad.


You are happy to remove adverts from website, but removing adverts from video is unfair? Why?


I'm not giving my point of view on fairness of skipping adverts in video vs. ad blocking on the web, but a big difference for me is tracking.

I find sponsored segments really intrusive and I hate ads, but at least they are not targeted at me specifically. The sponsor hasn't installed some crappy js / resource to track me and target me. The ad is bound to the video instead.


I dislike them due to the deceptiveness in many modern ones (neglecting to mention that they are sponsored). It still is obvious to most viewers, but not to people not familiar.

- sponsorblock developer


What channels are you watching? The channels I follow state "This video is sponsored by..."


Here is the video that made me start working on SponsorBlock: https://www.youtube.com/watch?v=FfgT6zx4k3Q

Here is a thread where I explain: https://www.reddit.com/r/kurzgesagt/comments/ca7vub/first_de...

Note how the only mention of "Thanks to Dashlane for supporting this video!" is below the Read More button in the top comment.

It really hurts me because I love Kurzgesagt, and I know they can do better. I don't like how much leverage theses advertisers have.


I wonder who could tell if the sponsored content was seen or not seen by any viewers... As far as I can tell the content creator gets their share once they reference the sponsor segment.


I don't know whether sponsors do this, but creators themselves can see a breakdown of viewership as a percentage at different parts of the video. If enough people skipped it then it would show up.


Yea, It seems excesive, I just press right four or five times and skip it manually. Besides, the sponsored content usually is a bit more rellevant.


I like the idea of crowdsourced effort to build useful datasets. Nevertheless, with growing popularity, I can imagine a whole lot of potential abuse of the voting API, e.g: blacklisting competitors channels.


Yea, I'm scared of it too now. I never expected growth this fast.


Finally something to deal with the deluge of questionable VPN providers using fear-mongering to sell their stuff. I'd love to use this if there was a Safari version.


I'd love is someone ported it to be a user script. It is definitely possible.

- sponsorblock dev


What is the practical difference between blocking an ad, manually skipping an ad, and watching an ad and then ignoring the product? In all three cases you're mostly worth the same to the creator: zero. This is especially true in worlds like podcasting, where promo codes are the primary tracking metrics to find out how successful the ad campaign has been.

Advertising isn't magic. Your creator is getting paid because they are encouraging users to either spend more or to direct their spending at a specific product (regardless of that product's actual value). I don't see how you're supporting a creator just by listening to ads. The people who buy the products are supporting a creator, and they're subsidizing you. Even to an advertiser, ultimately, your ears aren't valuable. Your money is valuable. A conversion is valuable.

There's this idea that if we all tolerate certain kinds of advertising, creators will get paid and nobody will have to lose -- but it just doesn't click with me, no matter how much I think about it. The money isn't free, it has to come from somewhere. Somebody has to have their spending habits manipulated against their will for this to work. The propaganda has to be effective for some people, or they wouldn't pay this much money to distribute propaganda.

And it's very difficult for me to imagine a scenario where introducing multiple massive middlepeople into that transaction will make the transaction ultimately end up costing us less money than if we just payed creators directly for their content.

We are paying for ads; or at least more vulnerable people are paying on our behalf. I strongly suspect we would collectively pay less as a society if we just gave creators money.


I like the channels that let me do this myself. The video ends, there's a clear transition (important), and then the spiel starts. I just turn it off. This is fine.

The bad ones are the ones that dedicate the first 3 minutes to some horrible mobile game (JonTron, etc.), or do mid-video cuts (New Rockstars, etc.), or, by far worst of all, do a very smooth and clean transition into the ad before you even knew the video was over, so for the first seconds you don't even realize you're watching an ad (Kurzgesagt).

I know creators need to get paid, so for all but the last, I don't mind them too much and just skip ahead (but will definitely be using this extension). Ads that are hard to distinguish from content are abominable, though.


This extension was built because of Kurzgesagt. I love them, but it really frustrates me that this happens.

Wendover is 100x worse, but I stopped watching his channel all together for that very reason over a year ago.


I thought this is to skip ads, but no, it is to skip sponsored content inside the video file. I loaded a Veritasium video to check (https://www.youtube.com/watch?v=fDek6cYijxI), the video started playing, I looked at the bar and saw no yellow markers, and figured the extension is useless for me.

Then I clicked "unskip" and realized it had already skipped over the Veritasium sponsored content straight to the start of the video.

Magical.


I see a lot of people saying this is unfair to content creators. I understand that sentiment when it comes to blocking normal ads, since revenue is based on ad views; that's why I don't run AdBlock on YouTube. But when it comes to in-video sponsored sections, can the sponsors actually tell whether viewers watched that particular segment of the video? If not, this seems like the most ethical kind of adblock: creators still get paid, but you don't have to watch the (usually scammy) ads.


The problem is eventually this or something like this will probably catch on, and then sponsors will pressure YouTube into creating a system to provide metrics on who watches certain parts of videos. It doesn't sound that hard to do on a technical level, and I believe this is already available to creators in some way. Way less work than automagically detecting copyrighted audio and video, which they already do with Content ID.


This already exists. You can see realtime (per second of the video) engagement statistics. It shows drops in sponsored sections normally and it pickup back up right after.


Right, but can sponsors themselves access this data via an API or something, currently? Asking the creator to email engagement metrics screenshots every week isn't too practical.


It is private. I don't think they would really care and would more care about link clicks.


True. The people who use these blockers/skippers would essentially never visit those links in the first place, so it may not really make a difference in the end.


I recently switched to Brave Browser and been keeping everything on Lockdown.

Added this.

Brave has made my experience so much better in general - looking forward to seeing how this works for me.


What about privacy? Will this extension send a query to a server, identifying each video opened on YouTube?


I really hate this kind of nit-picking. You're afraid to give this information to student who said it's not stored, and yet you don't mind to give the same information to the biggest marketing machine who not only uses it, but also sells it.


It's naive to assume only the current author has or will have exclusive access to your data.


Yes, that's why I don't store data I don't need.

But of course, I agree with you. Don't trust anyone.


Don't agree with him. It's your project and your time. If you trust yourself and know you don't log, then why make an effort to appease paranoid users who never checked source code of your extension? k-anonymity will increase load of your server and your cost while you know it's pointless.

On the other hand, user can use VPN, Tor, browser containers to achieve the same. If they really are as paranoid as they say - they already do.


Yes, but in general I do agree it is important to be weary of services. Not specifically mine.


Currently yes, though there's discussion of adding k-anonymity: hashing the video id and querying by a prefix of the hash short enough so each request will return on average data for maybe ~16 videos

https://github.com/ajayyy/SponsorBlockServer/issues/25


I thinks so but the database is downloadable so you could always send in a patch.


Yea, you could self host the server.

But I want to work on easier ways soon.

- SponsorBlock Developer


One of my first memories as a child in the early 80s was a conversation in the school playing ground about VHS players that could automatically skip adverts. We thought the idea was so awesome


I think this is helpful and will give it a try.

Greedy content producers will not stop including sponsors in their videos. "This video could not have been made without $sponsor..." Yeah, yeah, what a BS: Lots (like several 100k) of subscribers, Patreons, ads on the videos, affiliate links in the description and sometimes sponsored hardware with a well visible brand logo and you still come around and tell me you couldn't make ends meet without even more sponsorships?

Especially with all the more-or-less shady VPN providers, "JLCPCB" on electronics videos or Skillshare on the rest of the videos, YouTube feels more and more like linear television.


And for all the channels which really are relying on that revenue? Are you paying for YouTube Premium? Are you signing up to support the creator on Patreon? Are you paying channel memberships?

What's left to fund your favourite content when none of this happens?


Does some part of my YouTube premium membership fee go to the content creators?


AFAIK I know demonetized videos (which are 'unsuitable' for YouTube ads) generate zero revenue, so I think that's a no. It would go to creators who create exclusive series for YouTube premium, though.


I remember seeing something about a very low percentage of viewers being YouTube premium, but accounting for something like 40+% of revenue.


That depends on how much ads pay, how many users watch ads/use adblock, how much they watch etc. Videos that get few ads or low-priced ads might indeed have the membership be a large portion of the revenue. Generally it's more in the 10-20% range though.


Yes. In my YouTube studio analytics I can see the percentage of revenue that comes from YouTube premium subscribers.


Yes. I believe the split is the same as with ad revenue - 55% to the content creator and 45% to YouTube.


Almost. They say "a majority" but don't specify the exact amount. So, over 50%.


The standard split YouTube does with their creators is 55% to the creator and 45% to YouTube. I believe they would use the same split for YouTube membership revenue.


Yea, but for Premium it is different. At least, back when it was called YouTube red, they just promised a majority.


> Are you paying for YouTube Premium?

This will help Google stalk you even more (since you're now providing confirmed personal details like billing address and card details) so I would not recommend anyone doing so. Go with Patreon if you want to support creators.


The entitlement of people who think they should get everyone else's time and effort for free is quite astonishing.

"I have deigned to click on your video, you may entertain me! Expect nothing in return! It is my right!"


If you put out content that requires no payment you may not get paid.


It does require payment though, via ads/google red/paid promo's/patreon, you're just choosing to ignore it because it suits you?


Requiring payment would be a pay wall popping up requesting the user to submit payment either for that particular content or the privilege of viewing a suite of content before viewing.

Then all the people pirating your content via torrents or more likely watching something else would know what social convention they were flouting or submitting to.

Only on tech or creator related discussions are people even aware of the absurd idea that there is an obligation to watch ads or a requirement to subordinate your property, your computer that is, to some yahoo on youtube in order that he can earn money. Where no law is present and enforceable we cannot rely on social conventions we wish existed.

Just because you could make more money if people followed such a convention doesn't create any sort of obligation on their part nor in any meaningful way do terms and conditions bind them beyond being able to in theory take away an account they as consumers not creators don't care much about.


Ahh I see, a parasitic relationship.


Not accepting your terms doesn't make someone a parasite.


By your own description of what you're doing, yes it does? You've said nobody can make you contribute back to those creators via social norms so you will not, so within the system your actions are parasitic? You consume/use but contribute nothing back, how is that not parasitic?


Because the creator doesn't experience any per unit cost of content distributed only google does and the unit cost of bandwidth is so close to zero it would be hard to enumerate.

I do buy things. I agree to buy them before I fork over my money and I reject deals that I perceive would disadvantage me. That makes me a smart consumer.


A paywall is a way to signal that you require payment. Some people do that with Patreon and unlisted YouTube videos.

There's no arguments to force unwilling viewers to watch ads. The kind of people that install this extension are also presumably the kind of people that never follow ads, so allowing them to skip those ad segments doesnt result in a loss for advertisers. That they end up watching ads too is a simple effect of the ad market's inefficiencies.

The number of convertions from sponsored segments shouldn't move much from this extension, so the payout for video creators should also remain constant.

Its a win/neutral situation for everyone.


This but unironically


This seems excessive if it’s going to hurt content creators. Content creation is not easy and some YouTubers need the sponsor money to continue creating work for the channel as ad money pays very little. Most channels I have visited tell you they are sponsored by so and so, which was making it easy to know which videos were sponsored and I’m assuming those are the ones this NN will pick up. Now the sponsors could potentially ask creators to become more creative and more deceptive.

On the other hand something like this inevitable and I will check out the project.


Is this extension even relevant? I haven't ever seen those on youtube. uBlock + pihole do the job.

Smart TV, on the other hand, manages to bypass my pihole (as if adds were burned into the vid), that's where I need to figure something out.


This isn't about the ads that are inserted by YouTube. This is trying to block parts of the main video that are ads.


"parts of the main video that are ads" - well, i'm not sure what those are. Is it something that happens when they record a program from a TV and then upload that video to youtube without removing TV ads?


Imagine a Youtube video where the host takes a break to read off an advertisement and that you'll get a 10% discount if you use their code during the checkout process. And then they resume with their content.

They often will pre-record these segments with a consistent "now with a quick word about our sponsors" jingle which can be statically detected and removed from the video.


It means things like sponsor spots where the YouTuber starts talking about some random mobile game or VPN provider you can tell they don't really care about


They are sponsor segments like this: https://www.youtube.com/watch?v=a8apEJ5Zt2s&t=33s


Some YouTubers do ad reads during their videos from sponsors.


"This video is sponsored by X. Get N% off by going to example.com/mychannelname or use the code mychannelname at checkout."


Got it! Thank you all for clarification, my comment is irrelevant then.


it's the sort of thing that happens at 4:10 in this video: https://youtu.be/jxICCEoiq74?t=240


So much tech targeting content creation revenue generation!! Why? Can't we just let those generating free content do their thing without going after their livelihood?


It's an unstable equilibrium, not win-win but win-lose. It's only win-win if you think being subjected to tracking, ads, etc costs you nothing. Many people would disagree.


These are sponsor segments that are part of the video. There is no tracking involved that isn't also part of the video, because it's part of the video itself. This is not about privacy, but rather about being annoyed by ads.


That is why I use ad blockers, though. I don't care about the tracking, generally; I care about seeing ads. This is why most people use them. There's nothing wrong with not wanting to see ads.


> It's only win-win if you think being subjected to tracking, ads, etc costs you nothing.

No: only if it costs you less than the value of the content you're receiving. So yeah, it's win-lose: you get the content (which you consider valuable enough to spend your time on) and the content creators lose their revenue.


How are the ads narrated within the video tracking you?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: