Most active commenters
  • thomassmith65(6)
  • xnx(5)
  • ranger_danger(4)
  • layer8(4)
  • noman-land(3)
  • recursive(3)

←back to thread

990 points smitop | 74 comments | | HN request time: 2.197s | source | bottom
1. ranger_danger ◴[] No.44330199[source]
I'm surprised they don't just inject the ads directly into the video stream, I think that would solve their issue overnight (not that I want any ads personally). You could also rate-limit it to the playback speed to prevent pre-downloading the stream easily. But now that everything uses HLS/DASH, it's easy to inject different content right in the middle of the stream without re-encoding anything.
replies(15): >>44330295 #>>44330306 #>>44330327 #>>44330366 #>>44332987 #>>44333096 #>>44333102 #>>44333133 #>>44333320 #>>44333605 #>>44333700 #>>44333858 #>>44334367 #>>44335037 #>>44335453 #
2. optimalsolver ◴[] No.44330295[source]
Creators will never accept it.
replies(1): >>44333436 #
3. crazygringo ◴[] No.44330306[source]
I've also wondered about this for a long time. It seems like there must be something difficult about it, but I can't even guess. Otherwise it seems like they would be, no?
replies(1): >>44333339 #
4. lanfeust6 ◴[] No.44330327[source]
The creators themselves will include sponsor segments in their videos, but some users go a step further and use sponsorblock to automatically skip through.
5. walthamstow ◴[] No.44330366[source]
That's how some podcast houses do it. Sometimes they'll be mid sentence and the ad will come in.

I pay for a subscription to The Athletic, who used to offer ad free podcasts in their app. Last month they signed an exclusive deal with Acast, and now I cannot possibly listen to their podcasts without ads.

6. k12sosse ◴[] No.44332987[source]
How does Twitch do it? They're super aggressive and even using third party clients that do a good job and not displaying ads, you still get an occasional "commercial break" screen where they're not serving you the content, or the ad, just a "let's all go to the lobby" screen.
replies(2): >>44333401 #>>44333557 #
7. noman-land ◴[] No.44333096[source]
There exists crowdsourced adblocking based on timestamps (SponsorBlock, Tubular). Soon we will have realtime on-device content-aware AI adblocking. They will ever win.
replies(2): >>44333119 #>>44333839 #
8. thomassmith65 ◴[] No.44333102[source]
They don't want to boil the frog too quickly. Eventually, Youtube will embed ads directly into the stream. As the post mentions:

  To be clear this isn’t server-side ad insertion; the ad and content streams are still separate (YouTube is doing a server-side ad insertion experiment, but that’s separate from fake buffering)
replies(2): >>44333427 #>>44333727 #
9. thomassmith65 ◴[] No.44333119[source]
Once we get content-aware AI adblocking, every video and podcast will turn into a product placement.
replies(3): >>44333293 #>>44333362 #>>44333371 #
10. peer2pay ◴[] No.44333133[source]
It has to be a cost thing. HLS is so insanely optimised down to the hardware level that adding any kind of compute for targeting would increase costs exponentially.

I’m not too deep into it anymore but there’s some great articles from Netflix out there talking about the crazy optimisations done to their edge servers for streaming.

replies(3): >>44333483 #>>44333902 #>>44334065 #
11. ekianjo ◴[] No.44333293{3}[source]
They are already doing product placement everywhere..'
replies(1): >>44333425 #
12. ◴[] No.44333320[source]
13. kevindamm ◴[] No.44333339[source]
I suspect the difficulty is due to a fear of it turning away too many users, not necessarily a technical one.
replies(1): >>44333428 #
14. xnx ◴[] No.44333362{3}[source]
I use content aware ad blocking to remove inserted and native ads from podcasts. The next level adblocking will be rewriting content that is overly commercial.
replies(3): >>44333369 #>>44333416 #>>44333638 #
15. toomuchtodo ◴[] No.44333369{4}[source]
LLM ad blockers as content processors are next.
16. hsbauauvhabzb ◴[] No.44333371{3}[source]
It’s already a race to the bottom, blocking tech improves and so does marketing. The latter will pump out as much as you’re scientifically proven to accept before switching off.
17. thaumasiotes ◴[] No.44333401[source]
Those clients could be doing a better job - when twitch starts playing an ad on the main stream, they also provide a secondary stream that shows the actual content.
replies(1): >>44334229 #
18. noahjk ◴[] No.44333416{4}[source]
Any info on how you do that?
replies(1): >>44334156 #
19. thomassmith65 ◴[] No.44333425{4}[source]
Few shows are relentless about it.

In the future, everything will be like that vapid chicken wing podcast (the one where they bring on an interesting, talented person and then waste half an hour interviewing her about sriracha)

So Ira Glass will be narrating This American Life while simultaneously reviewing different varieties of Doritos, etc.

...or the producers of The Rest is History will add the Planters Peanut Man as a third host

...or Marques Brownlee will review every product in relation to how well it works with Bose headphones

replies(4): >>44333556 #>>44333614 #>>44333646 #>>44334904 #
20. eddythompson80 ◴[] No.44333427[source]
Yep. It's been pretty funny actually both here but especially on r/youtube.

Pretty much since YouTube started cracking down on adblockers, r/youtube top post Every. Single. Day. is usually someone complaining that they just got hit with "adblock detected" and comments split between "Yeah it sucks, hit me last month" and "Huh, uBlock Origin works fine for me. I must be super smart. YouTube can't defeat me"

21. recursive ◴[] No.44333428{3}[source]
Turning them to where? Doubt it. Those are low value users anyway.
replies(1): >>44333540 #
22. recursive ◴[] No.44333436[source]
Creators will take what they're given. They have no leverage.
23. esperent ◴[] No.44333483[source]
It would break all the time stamps as well, unless you had fixed length ads. Sponsorblock already skips ads embedded in videos, so I don't think this would make ads much harder to block.
replies(1): >>44334044 #
24. ilkke ◴[] No.44333540{4}[source]
If the value was low they wouldn't be squeezing it.
replies(1): >>44340779 #
25. squigz ◴[] No.44333556{5}[source]
No, the future will not be like that.
replies(1): >>44333669 #
26. ekimekim ◴[] No.44333557[source]
Twitch puts the ads directly in the HLS stream, but as seperate segments from the content (a HLS stream is made of many small video files, on twitch they're about 2s long). They're trivial to recognize and filter out (they're actually explicitly tagged as ad segments) but it still won't serve you the actual stream you were trying to watch - the ad segments override it. The best you can do is just block until the first non-ad segment arrives.
27. 2OEH8eoCRo0 ◴[] No.44333605[source]
If they had balls they'd force the user to be logged in.
28. sodality2 ◴[] No.44333614{5}[source]
> Few shows are relentless about it.

My favorite relentless one is Tracker (Amazon Prime), who spend approximately 30% of screen time dedicated to showing off a GMC pickup and Airstream, but the most egregious was one dialog line:

> As Colter enters and gives them hugs, Velma remembers that they got a gift for him. Reenie hands him the gift - very conspicuously packaged in an Amazon box with its trademark logo and blue tape - and says, "I've gotta say, next-day delivery is pretty sweet. Thank you, Amazon Prime!"

29. nickthegreek ◴[] No.44333638{4}[source]
got any links to set this up?
replies(1): >>44339609 #
30. nickthegreek ◴[] No.44333646{5}[source]
that is not what they do on hot ones. sean is an intelligent interviewer and their team goes above and beyond to find interesting lore in people’s past to showcase. guests are routinely impressed.
replies(1): >>44333714 #
31. thomassmith65 ◴[] No.44333669{6}[source]
I've seen the future, and it kills 99.99% of germs, bacteria and viruses...

...it powers through tough grease and grime

...with no harsh smells!

The future is Fantastik®.

32. Retr0id ◴[] No.44333700[source]
One could splice ads out of the video on the client just as easily as they splice them in, assuming you can detect them (which could be done via crowdsourced databases a la sponsorblock).
replies(1): >>44333906 #
33. thomassmith65 ◴[] No.44333714{6}[source]
If a person enjoys a show that is also a brand of hot sauce, it's not for me to say they shouldn't. It's just not my thing; I have too many hangups.
34. mullingitover ◴[] No.44333727[source]
> Eventually, Youtube will embed ads directly into the stream

We've all seen what they're doing with AI-generated video, and we know their market and political power. Eventually they'll be remaking the video so the person or animal or rock or tree on the screen is giving AI-generated product testimonials.

35. bitpush ◴[] No.44333839[source]
I'm sorry to burst your bubble but ad blockers are on borrowed time.

This is like saying I was able to sneak into a concert. Sure, but at some point the restrictions are gonna come down hard.

replies(4): >>44333963 #>>44334858 #>>44335291 #>>44335433 #
36. smitop ◴[] No.44333858[source]
YouTube is currently running an A/B test for server-side insertion according to what some other people have posted. I'm not getting SSAI ads so I can't really know much about them though.
37. cyberax ◴[] No.44333902[source]
> HLS is so insanely optimised down to the hardware level that adding any kind of compute for targeting would increase costs exponentially.

Not really. They'll just need to recode for you that one minute with the ad. The rest of the video can stay the same.

If they're doing it smartly, they can even avoid full recompression and just splice in the ad.

38. cyberax ◴[] No.44333906[source]
They can splice the video just for you at a random location.
replies(1): >>44334784 #
39. grugagag ◴[] No.44333963{3}[source]
There will always be a cat and mouse chase, regardless of technology advancements.
40. BriggyDwiggs42 ◴[] No.44334044{3}[source]
True, it would be sorta impossible to make timestamps work without sending the length of the ad section, so you could easily skip it programmatically.
41. oneseventwonine ◴[] No.44334065[source]
Agree, it has to do with cost, considering the sheer number of videos they have. Plus, oftentimes the ad won't be relevant after a week or two, in which case they can't re-encode again.
42. coppsilgold ◴[] No.44334156{5}[source]
I imagine you can do it by AI-transcribing the podcast while preserving timestamp metadata for each symbol. Use LLM to identify undesirable segments (ask it to output json or something) and then cut them out from the audio with ffmpeg.

Then you would need to set up a server that would do all this and serve as a 'mirror' to your podcasts without the ads.

replies(2): >>44334188 #>>44334221 #
43. noahjk ◴[] No.44334188{6}[source]
I actually found a project which does almost exactly what you've described:

https://github.com/jdrbc/podly_pure_podcasts

44. xnx ◴[] No.44334221{6}[source]
You almost exactly described my process: podcast-dl > whisper > Gemini > ffmpeg > ftp > cheap web host
replies(2): >>44334244 #>>44338226 #
45. plopz ◴[] No.44334229{3}[source]
i believe that secondary stream is used for picture in picture so its lower quality, like 480p or something
replies(1): >>44334264 #
46. thomassmith65 ◴[] No.44334244{7}[source]
If you've gone through that much effort, you might as well turn it into a subscription service. It would be resource intensive, but some people would gladly pay through their nose to rid their podcasts of ads.
replies(1): >>44338314 #
47. thaumasiotes ◴[] No.44334264{4}[source]
Maybe; I don't know anything about it. I will note that that belief could easily develop, true or not, if twitch streams start out in low resolution and increase as you buffer them.

A third-party client has room to make a dramatic improvement on the twitch experience by not dropping audio while you make the switch from the ad stream to the content stream.

48. rasz ◴[] No.44334367[source]
They are working on it. Web YT player no longer fetches separate video and audio streams from the server, it requests them pre bundled and receives a single server side muxed stream.
49. asadotzler ◴[] No.44334784{3}[source]
Sure, and I can use "technology" to identify those splices, and fix them in various ways that work for me because I control the client (unlike Chrome users) and that gives me the power to make the web behave how I want it to, if I'm willing to put in the effort (or someone else does it for me.)
50. noman-land ◴[] No.44334858{3}[source]
All I ask is that I can pay the creator directly for content without any middle-man. Anything less will be routed around.

It's not like sneaking into a concert. It's like attending a free concert at a mall and wearing a mask so the cameras can't read your lips. Or covering your phone screen with your hand when you show a friend a private photo of a special moment.

replies(1): >>44335044 #
51. noman-land ◴[] No.44334904{5}[source]
Even though I hate advertising I think Hot Ones is one of the few efforts to do a good job with this.

1. Interviewing a guest while they are eating insanely spicy food is an extremely novel idea and the guest's reactions and answers end up being really interesting and unexpected as a result. It humanizes famous people in a way I've never seen before because you can't just bluff your way through it.

2. The hot sauce vendors are often small companies or indie makers (at least they used to be). This is way different than reviewing 11 bags of Superman Transformers 3D Doritos Walmart Product Placement for the next blockbuster.

3. Hot sauce is interesting! Nearly every culture on every continent has hot sauce. They are made from a huge variety of interesting and unusual ingredients but are also simple and can be made at home. Hot sauce hasn't been explored in this way in popular culture.

52. aucisson_masque ◴[] No.44335037[source]
I think it’s only a matter of time before it’s reality.

They own the hosting website, if they want to show their user ads, they will find a way, even if it takes a few year.

53. bitpush ◴[] No.44335044{4}[source]
> It's like attending a free concert at a mall

Who pays for the electricity, upkeep, security and airconditioning of the mall? Who pays for the sound stage, the technicians, the lighting of the mall?

The band decided to perform at the mall, because they like the facilities there. They always had a choice to perform at their house ("own website"), but they chose the mall ("YouTube") and as long as YouTube is hosting their videos, YouTube deserves to be compensated.

replies(1): >>44335325 #
54. globular-toast ◴[] No.44335291{3}[source]
It's not analogous to sneaking into a concert. YouTube is open and public, always has been. It would not be YouTube if it wasn't.
55. globular-toast ◴[] No.44335325{5}[source]
That is between the band and the mall. The public didn't sign up for anything.
56. johan914 ◴[] No.44335433{3}[source]
Nobody can stop you from putting a black screen over the ad, or a scenic nature video.
57. layer8 ◴[] No.44335453[source]
Injecting the ads directly would make them skippable. Unskippable ads are inherently detectable (because the unskippability has to be communicated to the client-side player controls), so there’s no easy way out.
replies(2): >>44335611 #>>44336114 #
58. bspammer ◴[] No.44335611[source]
Twitch seems to have won the war against adblockers by injecting directly into the video stream. It’s been months now and I still see ads. I assume it isn’t as easy as you say to skip them otherwise uBlock would have done it already.
replies(2): >>44335731 #>>44336200 #
59. chippiewill ◴[] No.44335731{3}[source]
For livestreaming it's easier because you can't skip forward anyway
60. jay_kyburz ◴[] No.44336114[source]
The server can just ignore the player and send the bytes for the ad until its finished.
replies(2): >>44336859 #>>44337000 #
61. Strom ◴[] No.44336200{3}[source]
The core difference is that when Twitch plays an ad, they'll never send you that part of the video. [1] So buffering doesn't help. If YouTube would do this, you could have a custom player that preloads enough of the video so that all ads could be automatically skipped and as a viewer you wouldn't notice their existence. However, on Twitch, even if you're willing to give up the live factor and would buffer, you still would have missing parts of the video where an ad was placed. So you would lose content. [2]

--

[1] They do send a super low resolution stream with no audio, but not the actual quality you are watching in.

[2] Right now Twitch does not stop sending content in markets where they don't have ad inventory. So there are actually browser extensions already that will use a custom foreign market server to proxy the video during ad breaks, so that you can still have an 100% effective ad blocker.

62. ◴[] No.44336859{3}[source]
63. layer8 ◴[] No.44337000{3}[source]
The server can't completely ignore the player, as it would have to adjust the embedded timestamps to be consistent with the skip operations, or otherwise the player won't show the video. In other words, the server would have to act as if the ad is embedded wherever you skip to in the video. Not only would it mean that users lose their position in the video when they try to skip, since after the ad it would continue in a different place, but it would also mean that timestamps don't uniquely identify positions in the non-ad parts of the video anymore, which is a nonstarter in many ways.
replies(1): >>44339484 #
64. walthamstow ◴[] No.44338226{7}[source]
What's your prompt for Gemini like, does it include examples of ads? Assume you're using Flash for cost?

I also have a setup like this, I transcribe with Whisper and send it to OpenAI 4o-mini to detect ads then clip those segments with pydub, but my prompt must be lacking because the success rate on detecting ads is maybe 60%

replies(1): >>44339606 #
65. xnx ◴[] No.44338314{8}[source]
I'd definitely like to make it easier to use and spread it more widely, but I can't directly distribute the edited (copyrighted) podcast files. Might share transcript markers of the text right before and after ad segments, which is like a slightly more complicated version of what SponsorBlock does.
66. ranger_danger ◴[] No.44339484{4}[source]
JS on the client (which is already required) can be instructed by the server to manipulate the timeline. You could zero it out completely (or stop it from moving at all) while an ad is playing and then return it to the right spot after, this is not rocket science.
replies(1): >>44339516 #
67. layer8 ◴[] No.44339516{5}[source]
For JS on the client side to be able to behave in the way you describe, it has to be informed by the server about the unskippable parts. Thus browser extensions are informed as well, and can take action correspondingly. In the worst case, they’ll behave as YouTube’s new hold screen does now.

Anything that JS on the client can do is also under control of browser extensions. We are talking about YouTube’s options under that constraint.

replies(1): >>44340178 #
68. xnx ◴[] No.44339606{8}[source]
My Gemini Flash 2.0 prompt: "Below is the transcript of a podcast preceded by a line number. Reply with the line numbers that are likely to be from advertisements, promotions, commercials, sponsorships, or ending credits."

I think it's better than 60%, but I should definitely set up some evals.

I split the text by sentence, but was considering having the LLM try and put into paragraph (that might conceptually chunk commercial sentences together), but what I've got has been good enough for me.

I wanted to switch to Flash 2.5, but it looks like they increased the price a lot.

I think I could do a fair bit of ad identification just with text heuristics: "This podcast is sponsored/supported by...", etc.

69. xnx ◴[] No.44339609{5}[source]
Not yet. It's an extremely crude collection of scripts and code, but I should still put it out there soon.
70. ranger_danger ◴[] No.44340178{6}[source]
I don't think there's any reason the JS would have to know ahead of time, and the server still controls what video fragments are served when, so I don't think JS can be reliably used to skip ads that are embedded in the video stream, especially if the download speed is limited to somewhere close to the playback speed.
replies(1): >>44340372 #
71. layer8 ◴[] No.44340372{7}[source]
When the player performs a skip, it waits for stream packages whose timestamps match the new position after the skip. It’s the client who requests a different segment of the video, and waits until it receives the respective segment, as identified by the embedded timestamps. Skipping isn’t a purely server-side operation in that sense, the client side has to cooperate. The server has no control over which timestamps the client wants to play.

The only other alternative is to make the video a live stream of indefinite length where the user can’t skip forward beyond the farthest point they already played.

replies(2): >>44341484 #>>44342217 #
72. recursive ◴[] No.44340779{5}[source]
Get valuable or leave I guess.
73. ranger_danger ◴[] No.44341484{8}[source]
I'm not sure what point you're trying to make, or how it invalidates anything I said already. Not trying to be rude, I just don't understand where you're going with this.
74. jay_kyburz ◴[] No.44342217{8}[source]
The server can always just say no, here are the bytes for you, and this is the timestamp, deal with it.