title: HTML5 <audio> poor choice for LIVE streaming?
body: <p>As discussed in a <a href="https://stackoverflow.com/questions/20500796/convert-pcm-to-mp3-ogg">previous question</a>, I have built a prototype (using MVC Web API, NAudio and NAudio.Lame) that is streaming live <strong>low quality audio</strong> after converting it to mp3.  The source stream is PCM: 8K, 16-bit, mono and I'm making use of html5's audio tag.</p>
  
  <p>On <strong>both</strong> Chrome and IE11 there is a <strong>15-34 second</strong> delay (high-latency) before audio is heard from the browser which, I'm told, is unacceptable for our end users.  Ideally the latency would be no more than <strong>5 seconds</strong>.  The delay occurs even when using the preload="none" attribute within my audio tag.</p>
  
  <p>Looking more closely at the issue, it appears as though both browsers <strong>will not start playing audio until they have received ~32K of audio data</strong>.  With that in mind, I can affect the delay by changing Lame's MP3 'bitrate' setting.  However, if I reduce the delay (by sending more data to the browser for the same length of audio), I will introduce audio drop-outs later.</p>
  
  <p>Examples:</p>
  
  <ul>
  <li>If I use Lame's V0 encoding the delay is nearly 34 seconds which requires almost 0.5 MB of source audio.</li>
  <li>If I use Lame's ABR_32 encoding, I can reduce the delay to 10-15 seconds but I will experience pauses and drop-outs throughout the listening session.</li>
  </ul>
  
  <p><strong>Questions</strong>:</p>
  
  <ol>
  <li>Any ideas how I can minimize the start-up delay (latency)?</li>
  <li>Should I continue investigating various Lame 'presets' in hopes of picking the "right" one?</li>
  <li>Could it be that MP3 is <strong>not</strong> the best format for <strong>live</strong> streaming?</li>
  <li>Would switching to Ogg/Vorbis (or Ogg/OPUS) help?</li>
  <li>Do we need to <strong>abandon</strong> HTML5's audio tag and use Flash or a java applet?</li>
  </ol>
  
  <p>Thanks.</p>