Playback in the Browser


Streamer plays audio using the browser's native <audio> element - there's no plugin or Flash component involved. Whatever formats your browser can decode natively will play directly; everything else is converted on the server first.


Formats That Play Without Conversion


.mp3, .mp4, and .m4a files are streamed as-is - no server-side processing needed.


Formats That Are Converted Automatically


Everything else is transcoded to MP3 on the fly by the server before it reaches your browser, including:


  • FLAC (.flac)
  • Ogg Vorbis / Opus (.ogg, .opus)
  • WMA (.wma)
  • WavPack (.wv)
  • ALAC (Apple Lossless)
  • DSD
  • AAC (.aac)


This happens automatically with no configuration required, and it's what makes formats your browser can't play natively (or at all) work seamlessly.


Note: Linux/Raspberry Pi note: transcoding is currently Windows-only. On a Linux-hosted Streamer instance, only .mp3, .mp4, and .m4a files can be streamed - everything else will fail to play until the library is hosted on Windows or the files are converted ahead of time.


The "Direct Play" Setting


In the web app, under Settings → Advanced, there's a Direct Play toggle (off by default). It only affects files that are already in a browser-playable format (.mp3/.mp4/.m4a) - when enabled, the browser fetches those files directly instead of asking the server to double-check first, which slightly reduces overhead and is recommended on fast connections.


Direct Play does not let other formats (FLAC, WMA, Opus, WebM, etc.) skip conversion - those are always re-encoded to MP3 regardless of this setting, since the server doesn't yet trust the browser's own format support for those files. This setting is stored per-browser (not synced across devices) and isn't available in the Launcher - it's a web app setting only.