The MiniDV analogy is a really good one for explaining how <i>MediaRecorder</i> works, but also a good one to explain why it is a poorly designed API.<p>The video needs to be stored for its consumption, like any video, in a container format (like MP4 or Matroska) and these formats more often than not, require to <i>revise</i> what was initially written and rewrite some chunks when the recording has finished up. (I'm talking here about e.g. metadata that goes at the beginning of the file but the actual values cannot be known until the file is complete)<p>I wonder how you guys at Mux handle this limitation of the API; do you store the recorded videos at all on file?<p>You would think an API meant to generate some type of video, would be ready to <i>properly</i> do it, right? Or as someone put in a way that made me laugh (from the Chrome bug report, linked below at [1]),<p>> <i>I don't think any developer out here would ever mark a broken piece of code as "won't fix"</i><p>The reality is that everybody looks away. Chrome produces broken files [1] that are not seekable, and when asked about it they shrug and say that the spec itself is meant to be that way, and that you should use an external tool to fix the files (which is also broken for that use case! so not really a solution at all [2]). Firefox has the same problem but doesn't look like they progressed much either [3].<p>Meanwhile, yeah the spec is as it is and the issue as of today seems to be open [4].<p>So be aware of this flaw if you'll be intending to use <i>MediaRecorder</i> to actually store your videos into file (which seems quite reasonable that anyone would do)<p>[1] <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=642012" rel="nofollow">https://bugs.chromium.org/p/chromium/issues/detail?id=642012</a><p>[2] <a href="https://trac.ffmpeg.org/ticket/6386" rel="nofollow">https://trac.ffmpeg.org/ticket/6386</a><p>[3] <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1283464" rel="nofollow">https://bugzilla.mozilla.org/show_bug.cgi?id=1283464</a><p>[4] <a href="https://github.com/w3c/mediacapture-record/issues/119" rel="nofollow">https://github.com/w3c/mediacapture-record/issues/119</a>