/ Blog / 

New in Live Streaming: 1080p, VOD recordings and more

New in Live Streaming: 1080p, VOD recordings and more

November 9, 20224 min read



Since the launch of Interactive Live Streaming in August, we’ve heard from many of you for more control and customisation. Thank you for your feedback!

Today we’re shipping new features to give you more control over your live streams, and integrate them better with your requirements and internal systems (e.g. CMS). Additionally, they help you build live streams that optimise for video quality and network bandwidth consumption. We’ll go through the features in detail below.

These configuration options are available on the 100ms Dashboard and can be configured on your templates today.

1080p and custom resolution layers

100ms Interactive Live Streaming uses the HTTP Live Streaming or HLS protocol. HLS optimises for “video must play”, and accommodates for variations in the viewer’s network by shipping multiple resolution layers for a video. On the viewer side, the player can increase or decrease video quality based on network conditions. This is called Adaptive Bitrate, and we wrote a primer on HLS if you’re curious to learn more about it.

With our latest release, 1080p resolution layer is now generally available. This means you can select multiple layers – from 144p to 1080p – for your viewers. You can even modify video bitrate for every layer and get finer grained control over network bandwidth consumed. These customisations provide greater flexibility to balance network bandwidth consumption and video quality.

We have also released support for more aspect ratios. In addition to 16:9, you can configure your streams to run on 16:9, 4:3 and 1:1—in both landscape and portrait modes. Choose your preferred aspect ratio based on your intended UI experience. Screenshot showing new aspect ratios and resolution layers in 100ms

Video-on-demand recordings and thumbnails

100ms live streams can also be recorded for future video-on-demand (VOD) consumption. Video-on-demand recordings are generated in HLS format, to avoid additional transcoding for on-demand streaming.

Our customers build VOD catalogue experiences around these recordings. To make these catalogues look great, you can auto-generate recording thumbnails, at an offset from the start of the stream. For example, capture a frame shot at the 60th second from start.

Live streams can also be recorded in MP4 formats, which are more appropriate for processing or editing. This option records an MP4 for every resolution layer of the live stream.

Screenshot showing stream recording settings

Static playback URL

Since 100ms live streams use HLS, they generate a playback URL, which points to the manifest file (with an m3u8 file extension). This manifest provides an HLS player with details about available resolution layers and location of downloadable media segments.

By default, when a live stream is started (either through the client SDK or server-side API), the playback URL is generated dynamically (see example below). This works in well in scenarios where the viewers are joining 100ms rooms, and the HLS state and playback URL can be retrieved through client SDK methods. The URL is also available in a webhook event in case it’s useful on the server-side.


However, we’ve seen use-cases where playback URLs need be stored in content management systems—before the live stream starts. This warms up the CMS with information required for playback, and avoids passing URLs around at runtime. These scenarios can now be powered with static playback URLs, which avoid a dynamic hash and can be constructed on room creation.


Playlist types and rolling window

HLS supports two types of playback experiences: “event” and “live”.

“Event” playback enables your viewers to see the live frame and seek to any point in the past. “Live” playback restricts viewers within a live rolling window, where they can see the live frame and n seconds before live. In ed-tech scenarios, “event” playback can enable your students to go back and forth in the live stream, and consume content at their own pace. For other scenarios, “live” is more relevant.

100ms live streams now support both of these options. Modify the “Playlist type” parameter on the 100ms dashboard to choose one of them. For “live” scenarios, you can also specify the length of the rolling window and limit your users to only seek till, say, 10 seconds behind from live.

Screenshot showing stream video output settings

We hope you try these features out and make the most of your live streams. If you have any feedback or suggestions for us, reach out to us on Discord. We’re eager to hear how these features work for you, and how we can make them work even better. Happy streaming!

Product & news


Related articles

See all articles