Hacker News new | ask | show | jobs
by potench 2966 days ago
Preroll (IMA3) integration with an HTML5 video player is a really tricky dance when you’re trying to support mobile/desktop browsers with a resilient and consistent video player experience. Autoplay has been one of the most difficult differences to manage across browsers.

There’s no browser api that tells you if autoplay is supported, and you won’t get meaningful errors when you try to autoplay when you can’t.

Ultimately the right solution is to just-don’t-autoplay-ever, but it’s a hard sell when you see a 20-40% drop in VOD begins when you remove autoplay.

I’m not sure how to even approach Chrome deciding to autoplay “sometimes”. You have to tell the video player to autoplay a video a.m3u8, but swap that out for preroll.m3u8 before you know if any of it is going to work at all. If it fails, you’re gonna see weird errors in IMA3, or at the video player level, none of which really help you decide how to gracefully handle the situation.

So yeah, if you have client-side preroll, just don’t autoplay I guess.

2 comments

> Ultimately the right solution is to just-don’t-autoplay-ever, but it’s a hard sell when you see a 20-40% drop in VOD begins when you remove autoplay.

Which tells me that with autoplay enabled, 20-40% of people are probably clicking 'stop' just after the video starts playing, so aren't watching your content anyway.

You’d need to track your minutes watched per video to see if there’s a drop. I threw an in-exact percentage out as an example, but from what I recall on my last project with video, minutes watched per video went up, not down. Autopilot features work better than you would think...
That means a bunch of ifs in our player code. If iPhone then do that, if chrome then do this, if firefox ... what if chrome, try to autoplay, wait three seconds, fail, disable autoplay, wait for user interaction to run preroll. We'll see how will this end up for our VOD numbers.