December 24, 2018

2018 summary

The New Year of 2019 is approaching so it's time to look back at what Softvelum has accomplished.
We've had an interesting year as you will find out below.

First, take a look at a few numbers in our State of Streaming Protocols for 2018, our customers stream more each year and we're excited to see continuous connections number growth.

We had a couple of publications which you may find interesting:

Speaking of streaming use cases, this year we started making series of "snapshots" to show how Softvelum products can be used for real-life streaming scenarios. As example, check first case study with mobile-to-mobile delivery chain or "power origin" approach to building CDN. Let us know if you'd like to see more scenarios covered like that.

Nimble Advertizer

The biggest start of this year is Nimble Advertizer. It's a live streaming server-side ads insertion (SSAI) framework for Nimble Streamer media server.

Key features of Advertizer are:
  • Pre-roll ads per each connection.
  • Mid-roll ads flexible timing setup.
  • Per-stream ads insertion business logic.
  • Personalized ads based on users' IDs.
Advertizer supports HLS, RTMPSLDP and Icecast protocols output. It supports both video+audio and audio-only modes. Advertizer may use all input live protocols supported by Nimble Streamer, which are RTMPRTSPSRTUDTHLSMPEG2TSIcecast and SHOUTcast.

The workflow is easy to adopt within any business logic:
  1. Nimble Streamer media server processes incoming streams to get the content.
  2. Nimble Advertizer calls your handler web application to get business logic description.
  3. Advertizer gets files with advertisements to process them via Nimble Streamer according to your logic defined via handler.
  4. Nimble inserts the ads into original media and packages it into output protocol.
  5. End user connects to Nimble and gets the stream containing original content mixed with advertisements.
  6. Playback is running smooth regardless of ads insertion over time in any player which supports the output protocol.
You can read full technical spec for more information. Also Nimble Advertizer demo shows simple ad insertion scenarios for HLS/RTMP/SLDP/Icecast in action, with all setup details.


Softvelum Low Delay Protocol was introduced in 2017 and this year it's been widely adopted among our customers as a replacement for RTMP low latency delivery.
It's now gaining momentum since Adobe announced that it's going to decline Flash in 2020 which will cause elimination of Flash-based RTMP playback. Major browsers will also decline its usage in 2020 so those who need to have low latency real-time streaming, will have to choose other technologies.

SLDP is a great replacement with its sub-second latency, buffer control, adaptive bitrate and multiple codecs support. Based on WebSockets, it allows playback on MSE-enabled browsers with our HTML5 player, as well as mobile playback on iOS and Android devices with our free apps. Early next year we'll introduce more details on transition from RTMP to SLDP for your ultra-low latency, so stay tuned for our blog and social networks.

Meanwhile, CDNs start adding WebSockets support which allows SLDP delivery natively through their networks. Take a look at CloudFront WebSockets delivery setup with Nimble Streamer as example of such support.

We've been improving SLDP protocol through this year to make it a great solution for RTMP playback replacement.

Nimble Streamer

Besides Advertizer and SLDP, Nimble Streamer also got a number of improvements.

The aforementioned Jan Ozer article How to Create a Live HLS Feed With HEVC refers to fMP4 container support for live streaming. In addition to fMP4 support for live streams, Nimble now has VOD support for fMP4 HLS. So if your customers use latest iOS version, you could use that container for both live and VOD to optimize your distribution costs.

Our customers have been requesting more features regarding end-users connections control. Nimble Streamer now supports sessions authorization via external handler to decide which of the connecting users may continue receiving the stream. Player connects to Nimble Streamer instance via any stream URL, then Nimble reaches the external handler which returns response to define further behavior of the server.
This gives even bigger flexibility to paywall feature set which allows building monetization solution for your content.

Nimble Streamer now has DVR thumbnails generation as JPG files and as single-frame MP4 files, this helps showing preview for any point in recorded stream.

Mobile products

Our mobile solutions are being improved all the time following customers' feedback.

Larix mobile SDK now supports SRT streaming from Android and iOS devices. Nimble Streamer had SRT support for a couple of years so far, so adding that protocol to a mobile publishing SDK has been highly anticipated.

Modern devices are getting support for HEVC (H.265) encoding, so Larix apps and SDKs have support for it as well. You'll need to use RTSP or SRT protocols as a transport for it, as RTMP has no HEVC support.

Latest mobile devices also have high frame rate, e.g. 60fps, so Larix has that for both for iOS and Android on those devices which have that feature support. On Android phones you can now select fixed or variable frame rates, depending on current device capabilities - that's crucial for some transcoding solutions.

SLDP Player for Android and iOS now has Icecast support to give playback capabilities for numerous online radios.
In case you use HTML5 browser player on iOS and have any issues, take a look at SLDP iOS Player fallback setup.

Minor improvements and updates were continuously added to both products during entire year.

We have a couple of new products to deliver for you next year, so stay tuned for updates and we'll continue providing the best possible improvements to help you grow your business.

Our team wishes you a Happy New Year!

No comments:

Post a Comment

If you face any specific issue or want to ask some question to our team,

This will give much faster and precise response.
Thank you.

Note: Only a member of this blog may post a comment.