title: Calculate or Track the seeked / wound / spooled / time for HTML5 Video
body: <p>i would like to measure the skipped time during video playback if a user skipped some.</p>
  
  <h2>Using video.currentTime</h2>
  
  <p>First it looks quite trivial</p>
  
  <pre><code>Listen to seeking and get the currentTime A
  Listen to seekend and get the currentTime B
  
  B - A = Seeked Time
  </code></pre>
  
  <p>When i do that in Chrome the result is 0.
  Why is that? If you listen to timeupdate TU it gets quite obvious.
  Simplified Sequence:</p>
  
  <pre><code>Press Play
  TU: 1
  TU: 2
  TU: 3 // now i use the mouse to seek forward to 19
  TU: 19
  //chrome &amp; ff fire pause in between, ie not
  Seek Start: 19
  TU: 19
  Seek End: 19
  TU: 19
  //chrome &amp; ff fire play, ie not
  TU: 20
  ...
  </code></pre>
  
  <p>I know i can play dirty and save the currentTime somewhere but not in an reliable way ;-)</p>
  
  <h2>Using TimeRanges video.played</h2>
  
  <p>I can use TimeRanges to calculate the amount of Time which got seeked/skipped. But the Problem is: TimeRanges come in ordered and normalized form as list. So if the User jumps forth an back the Ranges become merged and ordered => not reliable for accurate tracking.</p>
  
  <p>Is there an easier less complicated approch i just dont see?</p>