this post was submitted on 23 Sep 2024
554 points (97.4% liked)

Technology

59582 readers
3354 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] Voroxpete@sh.itjust.works 83 points 2 months ago (5 children)

Because it's much more expensive. What they're talking about here is basically modifying the video file as they stream it. That costs CPU/GPU cycles. Given that only about 10% of users block ads, this is only worth doing if they can get the cost down low enough that those extra ad views actually net them revenue.

[–] Blue_Morpho@lemmy.world 30 points 2 months ago (2 children)

It wouldn't cost any CPU with custom software that Google can afford to write. The video is streamed by delivering blocks of data from drives where the data isn't contiguous. It's split across multiple drives on multiple servers. Video files are made of key frames and P frames and B in between the key frames. Splicing at key frames need no processing. The video server when sending the next block only needs a change to send blocks based on key frames. It can then inject ads without any CPU overhead.

[–] T156@lemmy.world 5 points 2 months ago (2 children)

Wouldn't it still need overhead to chose those blocks and send them instead of the video? Especially if they're also trying to do it in a way that prevents the user from just hitting the "skip 10 seconds" button like they might if it was served as part of the regular video.

[–] Blue_Morpho@lemmy.world 7 points 2 months ago

It has to know which blocks to chose to get the next part of the file anyway. Except the next part of the file is an ad. So yes there is overhead but not for the video stream server. It doesn't need to re encode the video. It's not any more taxing than adding the non skip ads at the beginning that they already do.

[–] winterayars@sh.itjust.works 4 points 2 months ago

Compared to the cost of reencoding the video (or even segments of it) it would be basically nothing, though.

[–] ngwoo@lemmy.world 1 points 2 months ago* (last edited 2 months ago) (1 children)

You're forgetting the part where the video is coming from a cache server that isn't designed to do this

[–] Blue_Morpho@lemmy.world 0 points 2 months ago

They're already appending ads to the front of the video. Instead of appending an ad at key frame 1 they append the ad at key frame 30,000.

[–] kevincox@lemmy.ml 19 points 2 months ago

This isn't how YouTube has streamed videos for many, many years.

Most video and live streams work by serving a sequence of small self-contained video files (often in the 1-5s range). Sometimes audio is also separate files (avoids duplication as you often use the same audio for all video qualities as well as enables audio-only streaming). This is done for a few reasons but primarily to allow quite seamless switching between quality levels on-the-fly.

Inserting ads in a stream like this is trivial. You just add a few ad chunks between the regular video chunks. The only real complication is that the ad needs to start at a chunk boundary. (And if you want it to be hard to detect you probably want the length of the ad to be a multiple of the regular chunk size). There is no re-encoding or other processing required at all. Just update the "playlist" (the list of chunks in the video) and the player will play the ad without knowing that it is "different" from the rest of the chunks.

[–] Quik@infosec.pub 5 points 2 months ago (1 children)

This is not necessarily the case.

You could only use this new system if the old one fails, ie. only for the say 10% of users that block ads, and so even if it were more expensive it would still be more profitable than letting them block all ads.

But I don’t think even that is the case, as they can essentially just "swap out" the video they’re streaming (as they don’t really stream "one video" per video anyway), bringing additional running costs to nearly zero.

The only thing definitely more expensive and resource intensive is the development of said custom software

[–] Voroxpete@sh.itjust.works 0 points 2 months ago

But I don’t think even that is the case, as they can essentially just "swap out" the video they’re streaming

You're forgetting that the "targeted" component of their ads (while mostly bullshit) is an essential part of their business model. To do what you're suggesting they'd have to create and store thousands of different copies of each video, to account for all the different possible combinations of ads they'd want to serve to different customers.

[–] Auli@lemmy.ca 2 points 2 months ago

10% where do you get that. The data I have heard is it’s around a third of all internet users globally.