Hacker News new | past | comments | ask | show | jobs | submit login
YouTube embeds ads into videos to beat ad blockers (searchengineland.com)
56 points by Brajeshwar 4 months ago | hide | past | favorite | 102 comments



I guess we're upping the ante on how to identify an ad.

The next ad-blocking arms race will be between perceptual ad blockers and the companies trying to embed ads that look like part of the content (ai vs ai).

https://arxiv.org/abs/1811.03194


Hehe, +1 year ago I actually made a (half-serious, half-assed) project alluding to this possible future: https://butter.sonnet.io

The way this works: use LLMs to detect sponsored content in transcripts, then skip that during playback.

I can see an approach, let's call it "universal adblocker", where there's an app running in background, detecting ads (using a11y APIs or just screenshots) and skipping / masking them with a full awareness of how to control a given app. It could block different sections of the screen or just control the UI to skip past the crap.


I've noticed a channel that consistently omits the ads (in their case, Patreon plugs) on the transcript, presumably for similar reasons. (I just let the video play because it's usually short enough that manually skipping is enough of a hassle.)


Should this be implemented, the cat and mouse game would likely continue.

The circumvention would be to for the server to some kind of proof of work of the “ad view” — use a service worker to check downloaded segments, and occasionally issue challenges that require sending a salted hash of the ad segments back to the server, along with a proof of elapsed time, without which the server simply refuses to serve the next video segment.


I can't see that actually working for YouTube in the end though. You can just download content and not play it, but in some background thread complete all the challenges.

You would need a way to prove audio/video on the end device/UA to the server and that's impossible AFAIK


Interesting; I do wonder if transcripts, or at least subtitles, will contain info from the inline ads. If they don't, it hurts accessibility and thus reach of the ads, and if they do it can then be detected by software.


I think by the time the tech is performant/energy efficient enough to make what I described actually useful, we should be able to rely on more content formats than text.


Way back in the days of video recorders, analog TV etc, I remember hearing talk of trying to detect ads on broadcast TV to either pause recording or maybe provide some sort of skip functionality on playback.

I think they did something looking at the horizontal sync signal. The was a clear discontinuity when the station switched from program to ad and back again.


For broadcast, there are at least a few open source ad detectors: https://github.com/erikkaashoek/Comskip, https://www.mythtv.org/wiki/Mythcommflag


I don’t know about the others, but Comskip is completely broken as far as I can tell and hasn’t been updated in years.


In the early 200s my family has a DVR called a ReplayTV. It was like a TiVo but it had an auto-skip function for commercials, and it usually worked pretty well.


There was an ad-skipping feature of early DVRs that reacted to a sudden increase of volume. Yup, TV stations would broadcast the ads louder than the shows.


My parents still use a TiVo and it as ad skipping features: https://tivoidp.tivo.com/tivoCommunitySupport/s/article/Skip...

I think the ads might be manually tagged, which would be a lot easier with hundreds of broadcast shows, instead of thousands/millions of random videos on youtube.


Sweet Christ that brings up horrible memories of scrambling across the living room to turn down the volume on a knob when I was seriptitiously watching late night tv. The volume on the shows were good, but the damn commercials were SO LOUD.

I blame a local car dealer for most of my groundings as a child.


Sadly they are still louder than the rest. This is why i like my public broadcasting: no ads after 20:00 until 6:00


Or crowd source the recognition, by letting people mark video parts as ads and then sharing that data and the recognition tool with each other.


No need for that. Every time the ad plays it is the same bitstream so you need to mark it once (for every resolution and format). So we essentially we will have signatures for ads similar like anti-virus software does for malware


They will just have AI generate unique ads for each person even though they are all slightly different.


Youtube will then start re-encoding ads per stream. We will have ads similar to polymorphic viruses :-)


that won't scale at youtube scale, the next logical step would be Widewine drm


If I was an advertiser, I would pay people to mark random parts of every video to pollute the data and render it useless.


Already done for skipping the sponsorship sections in videos.


Network television already has a couple of options with this with chirons on the bottom of the screen during programs and animated overlays moving across the screen as well. One has to wait for stuff to appear on DVD or other streaming services to get around those ads.


We had a conversation at work yesterday about this, specifically in the context of TV, and potentially having a camera/capture card + microphone + ML model to identify and mute ads automatically


I saw a college hackathon project and the team only needed audio cues, because there were distinct change points you could detect, sharp changes in audio level or very small gaps in audio iirc. The harder part was deciding when to unmute, are you between commercials or resuming content


I'll assume someone will figure out a transcoder plugin to mux the video and remove the ads on the local system in-stream, which if you've got a hardware gpu that can, why not?


So it will be either watch the ad, or wait until the ad is over.


Let's just go full circle and invent TiVo for streaming video.


I really value youtube, but as long as google owns it I will never pay, never ever. Nor will I watch ads. But if youtube broke off one day and became independent like paypal did, i would gladly pay for it.


Pro tip, if you have a VPN provider and set it to Ukraine, YouTube Premium comes out to only ~$2.7x/month. Makes it way more enjoyable for a fraction of the price.

Once you buy it, you dont have to keep your VPN or anything, it will always rebill at the $2.xx price each month.


For how much I watch and enjoy YouTube, paying full price is absolute worth it.


The family plan is a good deal too


For me it’s not about the money. It’s just that I will not (willingly) give a single cent to google. Ever.


Don’t do this. Google will ban your account. My friends have done this before in video games and have gotten their accounts perma banned months / years later.


If you're using vpns, some countries like Albania simply don't get ads delivered at all


That's an awesome note. Thank you.


If enough people do that, they will try counter measures.


I'm interpreting your comment as you're using ad blockers and also not paying for a subscription.

If that's the case, it's probably true that robbing YouTube of the revenue to cover their R&D and data center costs is covered in whatever insurance and investment risks they manage.

However, also robbing the content creators you're enjoying of the revenue they need to fund their content, is definitely in some unethical grey area. Still true, even if the creator makes only a fraction of their total revenue through ad sense.


Or you can adblock and donate on Patreon etc. to your favourite channels. Not every channel you watch will benefit, but a much higher percentage of your money goes to creators, who generally get a less than fair deal from platform holders. Same goes for buying music on Bandcamp + pirating, versus a music streaming subscription.


If I don’t click ads and purchase products, it doesn’t matter whether I have them or not.

I’m not robbing anyone since I don’t click on ads anyway. I don’t generate people revenue. I’m not “in commerce”


> However, also robbing the content creators you're enjoying of the revenue they need to fund their content, is definitely in some unethical grey area.

I’m curious what’s your intuition about the opposite situation.

If I’m paying for YouTube and I’m supposed to get an AD free experience but a creator has baked in ad read for their sponsor, is the creator then in the wrong?


I'm not robbing anyone by blocking ads. I control what my computer loads and processes. How others make their money is not my problem.


There's no violence involved, it can't be robbery.


Because Google <insert reason here>, you think you are entitled to accessing it for free?


They make it freely available, so yes, as a matter of fact, I am. I also have total control of how my computer resources are used. Ad blocking is always ethical.


Paypal didn't "break off": it was spun off by eBay. It's not like a division can secede and declare independence.


Not with that attitude.


I don't think I'm likely to pay for YouTube either, but for a slightly different reason: I'm afraid that if there are ever any account issues my whole Google account would be banned. I notice that I've been watching less as they ramp up advertisements.

Yep, a confusing case where a monopoly position actually managed to hurt the company…


>I really value youtube, but as long as google owns it I will never pay, never ever.

I really value youtube, and I do pay for premium. It's not expensive. We use youtube far more than any other streaming service, and it costs less than all the others.


Clearly you don't value it if you don't want to compensate them or the creators for the content.


It is possible to value a service and still loathe the company providing it.


How the creators make money is neither my problem nor my responsibility.


I'll say this every time this comes up: if YouTube wants money for their service, that's fine and their right, but they do not have the right to try to circumvent what my browser does. If they don't like that, they can block people who use adblockers. Simple.


They do have the right to try to circumvent what your browser does. They're not even circumventing it by trying to disable stuff in your browser; they're just changing their delivery mechanism. It's semantics but in reality they're not actually messing with your computer.

The alternative is revoking your viewing privileges without having watched an ad for the video you clicked on, which they both morally and legally have the right to do if you decide not to pay for the service you're consuming.


> circumvent what my browser does

Are in-line ads inside sponsored videos (eg: YouTubers or podcasters advertising Squarespace) now considered circumventing your browser? I'm not entirely sure what YouTube is doing is different than those, at a fundamental level.


Isn't that what they're doing here? Your browser requests the video stream, it gets one - and that video stream now includes ads baked right in. Doesn't mess with your browser at all.


I don’t see how that is a logical set of sentenced. You try to circumvent their ads, they try to circumvent your ad blocking.


All's fair in attention war.


Why do they not have that right?


why would they have that right?


Rights must be negated, not affirmed


Yeah technically they aren't trying to circumvent anything your browser is doing they are just serving you videos with ads in them instead of videos and ads served separately


except in this case the parent company owns the most popular browser chrome and they've modified extensions in a way that adblockers are known to be less effective


This is what I always expected platforms would do if blockers became ubiquitous enough – make it impossible to easily separate first party and third-party content.

Podcast platforms already have to do this – dynamic ad insertion is done within the file itself.

I suspect we'll start to see sites use proxy server solutions to mask third-party ads on the web as well.


What's next? Maybe jump by youtube thumbails +/- seconds.

There's old project called timelens with youtube userscript that generates visual timeline like:

https://timelens.blinry.org/assets/images/youtube-screenshot...

Matching bands of colours signitures that maps to whats actually onscreen seems more durable than timestamps. Until youtube gets rid of preview thumbnails.


Sadly YouTube has become a NO GO site. I am willing to watch an ad for a video I want to see, but so often with youtube content I dismiss the video within 5 seconds of it starting. I am not willing to watch 2 minutes of ads to find out if I want to watch the video in the first place.

What alternate sites are there?


None. That’s the problem.

My take is the video format is terrible and should not exist in the first place anyway, so I live happily far away from all the yt drama.

For instance it was the WWDC this week and all the sessions are video. Most of them could be articles instead and it would be much better/useful. (Thankfully they provide full searchable transcripts now, so at least there’s that…)

I do watch videos: TV Shows and movies. Which I pay other services to provide for me.


Two minutes of ads!?

On desktop most ads YouTube gives me allow skipping after 5 seconds. Most of the ones that don't allowed skipping at 15 seconds or less. In back to back ads if the first cannot be skipped the second almost always can be skipped after 5 seconds.

Ads are longer on my Fire TV Stick but almost never is the total time that cannot be skipped more than 30 seconds.

Now I'm curious what other people are seeing? Is what I'm seeing closer to what most people see or is what you are experiencer closer to the YouTube norm?


Not sure if the mention of the SponsorBlock browser extension in the article is correct.

To my knowledge, this extension doesn't block programmatic ads (off-stream) like regular ad blockers do. Instead, it "blocks" ads that creators include in their videos (e.g., "This video is sponsored by Squarespace") by automatically skipping these segments using crowdsourced timestamp data reported by users. It's similar to how you can manually jump ahead on the video timeline.

I believe this extension was affected by YouTube's recent changes because now some videos are longer due to on-stream ads, causing the timestamps to be out of sync for users watching these videos.

However, I could be mistaken.


Yes and YouTube wants to randomize these somehow


Technically speaking, how do they accomplish this? Given the amount of advertisers they have, the amount of ads that each advertiser is showing, and the amount of variations of those ads that they’re showing (5s, 15s, etc), I think we can safely rule out the possibly that they’re just splicing together an infinite amount of permutations of ads and videos and saving them to disk.

They must be doing some sort of on-the-fly streaming of these ads? It cannot be the case that they’re trying to actually transcode / edit all those different ad possibilities together.



They might be able to beat “ad blockers” referring to the software that blocks ads; I don’t think they’ll ever beat “ad blockers”, the humans that are looking to block ads. There is a certain breaking point where people will simply not watch the content anymore. I am astounded that this hasn’t happened already and a migration to some other alternative site hasn’t ensued.


I wonder how many of us there really are. Is it enough to make them change their ways? There are enough people with ad blocking software for them to make the effort to deploy countermeasures, but how far is each side willing to go?


It has happened, it is called Tiktok.


This should be easy to defeat. YouTube videos are usually delivered as DASH streams and an ad would just send down a different fragment. Loading the video multiple times will load injected ads in different places but the core video segments will always be present. The differences could determine what's an ad and what's not. Detected ad segments can be added to a known ad bloom filter, correct segments could be added to a known valid bloom filter, or both.


Note that the frontend code still knows that an ad is played, and bytes of the actual video are still pushed without any artificial delay, so for now ad blockers can deal with this using a custom script.


Important topic that has been posted a few times:

2 days ago. 87 comments: https://news.ycombinator.com/item?id=40657933 2 days ago. 91 comments: https://news.ycombinator.com/item?id=40666304


This seems to cause playback failures in ublock from what ive seen. MPV doesn't appear affected though.


Can still be beat with SponsorBlock I suppose, but someone will have to submit the segments to skip first.


They're not just burning the ads into the video once, they're splicing them in dynamically, so the location and duration of ads can be different every time you view a video. The article literally quotes the SponsorBlock dev saying this breaks SponsorBlock because it assumes the ads will always be at the same timestamp.


I suspect that as Alphabet clamps down more and more on combating ad blockers the major competitors to YouTube (Tick Tock, Twitch, Odyssey, Nicovideo, Bitchute,...) will start gaining more and more traction until people start switching over en masse.


Twitch has been stitching ads for years.


Is there really a belief that people who use ad blockers are worthwhile ad targets.



The dev actually went on Twitter[1] to say this currently breaks the extension and they disabled submissions from users with embedded ads enabled

[1] https://twitter.com/SponsorBlock/status/1800835402666054072


No, the source of the information in the article is the author of SponsorBlock saying they currently have no way to distinguish the ads from the content for users who are getting these inline ads.


Annoying, but fair. Unlike almost every other ad supported service, YouTube has an easy and fairly cheap way to eliminate these ads.

So it’s really just a test of whether people hate ads or just want everything for free.


Not that I like ads, but hopefully this will fix their stupid bugs integrating with chromecast, where the auto-switching to an ad sometimes throws to a different video in the playlist.


I really wish that I could pay for an ad-free service, without being tracked on every site there is :(

Just offer a plain youtube-Account and we have a deal.


Is there any alternative right now that blocks these ads?


YouTube Premium.


I paid for YT Premium for years until I noticed just how atrociously YT runs in Firefox. There were also the accusations that YT slows down the video pages for anybody with an adblocker... even if they're paying for Premium.

I block ads at the DNS level and am not about to tweak things forever just to de-mangle my paid-for YT experience. So I dropped Premium, started supporting channels that I actually watch directly via things like Patreon, and watch YT videos via tools like Invidious and yt-dlp.

Local video players such as mpv and IINA are so much better than the YT player has ever been in any browser and I don't have to worry about buffering. The bonus is that I can keep a backup of favorite videos sans baked-in ads or whatever customer-hostile tactic Google dreams up next.


you mean pay actual money instead of time? what are we? savages?


Anonymous electronic payments are not trivial.

Edit: for the information of anyone not yet realizing the following: the chances that some of us will let anyone keep track of our cultural activities is much, much less than zero, and surely less than our disposition to extermination. It is called, "The Basics". I know they are missed by many, but they ought to be informed.


i hope at least they embed in proper positions not awkward interruptions. also i hope it's not those 90 second ads. brainwash me quickly please


I have to wonder if the computational resource cost of this will outweigh the "lost" ad revenues in the short term at the very least. If it "works" then maybe it can be justified.


Don't know much about video encoding, but I imagine there are some clever tricks google can pull to embed the ads with keyframes, since when you upload your video to youtube they already do re-encodes. I'm imagining there's some hand wavey stuff that would allow you to sorta concat the ad with different parts of the video.

I'd also imagine that the newer video codecs were explicitly designed to make stuff like this possible without a ton of computational resources.


That sounds about right. I don't know much about video encoding either, but there is software which can losslessly splice videos on key frames. It's also possible to join multiple segments together, as long as all the segments have the same properties (codec, resolution, fps, etc). If this is true, then it would be relatively inexpensive to splice ads into videos like this.


Some comments on the other posts on the topic went over this. Sounds like putting the ad before the keyframe makes it easy enough.

https://news.ycombinator.com/item?id=40658552


If that's true then maybe client side de-splice will be just as easy.


SponsorBlock is already available and does an excellent job of filtering out embedded ad content inserted by content creators themselves, which (IMO) tends to be much sneakier than anything Google could implement. I also can't see how they could hide the interactive part of the ad ('Click to buy' links etc.) from blockers, so even in the best case where the embedded video ad go undetected, the links will not appear/be clickable.

Google probably knows that trying to dodge content blockers in a browser environment is a losing battle. But hey, it might bump up their numbers for the next earnings call.

Being extremely short-sighted seems to be the name of the game in tech lately, so they'll probably go for it, and call it a success.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

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

Search: