Why not?  You could encode the original video as multiple segments, in order to watch the next segment, you have to watch an ad.  Maybe use some kind of long polling to ensure that the advertisement was watched in its entirety -- supply a unique key at the end of the 30 seconds that the client has to rehash.  It's a relatively minor engineering challenge, but I'm sure it can be solved.