It's costly; either you prepare encodes ahead of time with different ads and serve that appropriately, or you splice ads live for each request, which is also costly in resources. You can't get away with just a few variation; ads are usually targeted. It also come with other issues, like, it is mandatory in a lot of place to clearly identify ads, so there should be an obvious marker somewhere. If it's in the UI, it can be detected and replaced live by a video of kittens for the duration of the ad, so I suppose they also have to handle any signal in the video… (It's speculation, I didn't get any of these yet).
I'm curious to see if this will hold, and how we will run around it in the long run.