Send chunks from MediaRecorder to server and play it back in the browser

You can't just needle-drop into the WebM stream. WebM/Matroska require some setup to initialize the track info and what not. After that, you'll have Clusters, and you have to start on a Cluster. Additionally, Chrome is going to require that each Cluster start on a keyframe, which you're not going to be able to guarantee with the data from MediaRecorder. Therefore, server-side transcoding (or at least, some nasty hacking on the VP8 stream) is needed.


Thanks to key help from Brad's FB sample, I was able to put together a working version that sends an audio/video stream to icecast, which then can easily be played back in a browser. Since the audio and video codecs are directly copied, it's only 5 - 10 seconds of lag.

Here's the link:

https://gitlab.com/jamie/icecast-web-source-client