Skip to content

Publishing from browser for wide audience with low latency

In UGC services, contributors typically publish content in one of the following ways:

  • Via WebRTC from a browser on a mobile device or laptop.
  • Via RTMP, SRT or WebRTC from playout software such as OBS Studio or vMix.

This content then needs to be delivered with low (but not realtime) latency to a large audience. There may be thousands of subscribers and hundreds of viewers.

We propose LL-HLS for such case: with it, you can build an efficient CDN while maintaining an acceptable latency. In the example below, we’ll look at how to publish from a browser on one device (computer or smartphone) and play it on another.

Publishing from a browser via WebRTC

For the test purposes, we will demonstrate the webcam publishing feature in the Flussonic Admin UI. Note that contributors do not have access to the Flussonic Admin UI, so you should provide a convenient way for them to publish video. Learn more at WebRTC publishing page.

To run a test publishing via WebRTC:

  1. Open the Flussonic UI in a browser on your computer or phone, depending on where you want to publish videos from.
  2. On the Media page, click + to create a stream in Flussonic. Name it something like published and check the Publication checkbox.

    Create publishing stream

  3. In the profile of the created stream, click Publish from webcam.

    Publish from webcam

You will immediately see a preview of the published stream.

Low latency playback via LL-HLS

A stream can be played via LL-HLS:

  • In any third-party player with LL-HLS support. The URL to play LL-HLS can be copied from the Output tab in the stream profile.
  • In our embed.html player, if you add the parameters realtime=true&proto=ll-hls to the URL. Open this link in a browser on your phone or computer:

http://FLUSSONIC-IP/published/embed.html?realtime=true&proto=ll-hls