I think maybe the problem is that you do need to have a seperate mode for ads, so you can click on them. and as long as that's the case, there are going to be ways to block them
- Stream ad start/end events to the browser, with no duration info
- On sending the start event, lock the user's session such that they can't change their position within the video. lock it server-side, and client-side. Start event will include details of the ad being displayed for any interactivity.
- Unlock the session after the duration of the ad has elapsed, which is only known server-side. Then send the end event to the browser so it can be unlocked client-side.