5 ms·
If they weren't cheap about it they would just serve a video that has the ads built into it. Instead they try and play them separately because that is cheaper.
by spullara 3y ago
If they weren't cheap about it they would just serve a video that has the ads built into it. Instead they try and play them separately because that is cheaper. It would also be a better user experience because there wouldn't be these sharp edges between playing the ad and the content that are separately buffered.
- overstay8930 3y agoThere are hundreds of reasons why this wouldn't work, mainly the fact that almost nobody watches the same ads, meaning you're just rendering 100,000+ different versions of the same video depending on who watches it.
- civilitty 3y agoYou don’t need to render the whole video, just the frames between the last keyframe of the content and the first keyframe of the ad. The rest can just be cached as is.
- Nifty3929 3y agoYoutube doesn't produce the videos. Are you suggesting they should re-encode them with the ads inserted into that particular video file? That seems worse, with little gain. Plus think about all of the additional storage and streaming cost required for that, because you'd have to duplicate that ad in all the videos now. Meaning each 15sec ad would add a tiny bit to each of 1B videos, instead of just being a separate 15sec video all by itself. And separate cached in all the places where that video is cached. This is a bad idea.
- packetlost 3y agoI'm fairly certain you could inject ads directly into the video stream at the protocol layer (HLS/DASH) without too much difficulty. Both operate by sending self-contained chunks of encoded media at a time. The real issue there is then preventing the user from skipping those parts of the video.
- dontblink 3y agoTechnically you are correct. In practice this is difficult to implement though. If you disagree, please provide a PoC?
- marcosdumay 3y agoIt's almost certainly easier than making an ad-blocker-blocker that works for a reasonable amount of time. For a start, once you do it, it's done.
- RandallBrown 3y agoIt's been a long time since I regularly uploaded videos to YouTube, but they used to reencode the video into a bunch of different formats.
- spullara 3y agoAs others have pointed out, you wouldn't do it that way. You would do it dynamically at runtime inserting them into the video stream.
- hypeatei 3y agoYeah, I'm not sure this is a technical problem for them. Twitch embeds ads into the stream so they can't be blocked. Honestly, I think YouTube/Google is doing this to setup an argument that ad-blockers are piracy tools so they can be legislated away. Much easier than investing time into a technical solution.