3 ms·
How much $ do they make for each ad? To splice in ads they'd have to re-encode on the fly no? At scale that could become painful because it raises their costs t
by 2OEH8eoCRo0 2y ago
How much $ do they make for each ad? To splice in ads they'd have to re-encode on the fly no? At scale that could become painful because it raises their costs to show an ad when most people don't block them anyway.
- sudosysgen 2y agoYou can splice video without re-encoding, because video compression eventually has to send a standalone frame (B-frame), so there is a facility to "reset" the current stream without affecting the rest of the video. Both videos need to be the same format, of course, and you need the beginning and end of the host video to be a B-frame (you can insert B-frames cheaply so no issues) and start the spliced clip at a B-frame as well. You can do this with ffmpeg.
- 2OEH8eoCRo0 2y agoYep, splice on key frames. I'm ignorant on anything further than that but I assume it could be complicated on such a massive and old video repository.
- deleted 2y ago[deleted]
- superasn 2y agoThis will also disable a lot of caching I guess.
- anonymoushn 2y agoNot really! The main live video technologies work by having a playlist file which is a list of URLs that updates frequently and a bunch of short video files. So the caching of the short video files would be unaffected.
- KETHERCORTEX 2y agoNo. The cached files will remain intact, since the "video chunks" playlist will add new items, but not change or remove the existing ones like that: video_part0076.ts video_part0077.ts video_part0078.ts ad_part0001.ts ad_part0002.ts video_part0079.ts video_part0080.ts
- davrosthedalek 2y agoWouldn't this be trivial to defeat by pulling the playlist multiple times (maybe via a proxy to get a different IP), and only showing the chunks which did not change? I guess they could prevent that if they randomize the part names (with some m:1 mapping on the server side). As long as you have control of your CDN, this would even not mess with caching.
- KETHERCORTEX 2y ago> Wouldn't this be trivial to defeat by pulling the playlist multiple times (maybe via a proxy to get a different IP), and only showing the chunks which did not change? Since the YouTube marks ads, I guess pulling the playlist twice won't really be needed. YouTube's player should somehow know when the ad starts and when it ends after all.
- davrosthedalek 2y agoGood point. One could probably patch the javascript on the fly to go from unskippable ad to auto-skip....
- KETHERCORTEX 2y agoRegarding autoskip, I have an interesting experience with it in the past. My friend asked me to write a userscript that simulates pressing the "Skip ad" button, so he won't stain his mouse with grease while eating. Checking if there is a "Skip ad" button every quarter of a second and invoking its click() method eliminated the video ads completely. As it turns out, the button existed alongside the 5 second countdown, just wasn't visible. I don't know if it still works the same way today, but it felt good to accidentally make an effective adblock with five lines of code.
- rasz 2y agoThere is ZERO caching of YT content. Every single vidoe/audio source link your client receives is individually cryptographically signed for you (IP) and for this particular time (timestamp, expires in couple hours). Refresh the page and you receive brand new list of different links to same files.
- timschmidt 2y agoNope. Possible to just insert video mid-stream with some care, so long as the videos are in the same format and resolution. See: https://news.ycombinator.com/item?id=33969490 https://news.ycombinator.com/item?id=33969490
- KETHERCORTEX 2y ago> To splice in ads they'd have to re-encode on the fly no? No. Video files on streaming services like YouTube are served as a bunch of chunks listed in a text playlist. So all they need to do is just to add a bunch of lines in the middle of a playlist.