Sorry to bump this, but still very interested if anyone finds a solution.
Maboa is probably correct, but there's always a way round these things :)
I've been reading things like
"You will also see that the timeupdate event gets fired a lot and at somewhat random times. If you want to use this to sync the showing and hiding of parts of the document, then you’ll need to throttle it somehow. The easiest way to do this is to limit the number to full seconds using parseInt():"
Here, we want to do the opposite. Now, this is WAY beyond my javascript knowledge, but if timeupdate is coming at random times, could a little subroutine subtract the millisecond time from the last timeupdate and the current one to calculate number of ms elapsed, then interpolate that difference and update the progress bar based on this instead?
In my own head, I know what I mean! Can anyone get their head round this?