January 22, 2018

Using Amazon EC2 for HEVC transcoding

Nimble Streamer Live Transcoder is currently used in various live transcoding scenarios on various platforms. It can be deployed both to bare metal and virtual servers.

When it comes to HEVC (H.265) transcoding, there are certain limitations you may face. H.265 encoding is resource consuming so Nimble Live Transcoder supports only hardware encoding which is currently implemented for NVidia NVENC and Intel QuickSync. So if your project requires to use some cloud computing platform with no bare metal, you need to find a provider which has hardware acceleration available as part of cloud services. Our customers ask us about such provider so we wanted to do some analysis about this this.

Choosing EC2


After some research we ended up with Amazon Web Services (AWS) and their Elastic Compute Cloud (EC2). Here's what we have.

First, we need to define what chips are capable of HEVC encoding. Take a look at NVENC Support Matrix to see which of the chips have proper support. Considering latest NVidia changes in GeForce drivers EULA, not many cards can do what we need.

Having the list of proper chipsets, check EC2 instance types.  There are two of them that meet our criteria.

  • G3 instances have Tesla M60 based on 2nd generation of Maxwell chip family, starting from 1.14 USD per hour.
  • P3 instances have Tesla V100 based on Volta chip family, starting from 3.06 USD per hour.

We ran some tests on g3.4xlarge instance type, it has Tesla M60 chipset on board which we tested previously on bare metal. This time it also showed great results being used in cloud environment.

Notice that not all regions have P3 and G3 instances available. We tested our case in US East N. Virginia region, you should manually check what is the closest region with required instance types.

January 14, 2018

Nimble Advertizer: server-side ads insertion for Icecast

Our online audio streaming customers often face the need for monetizing for their online radios and live podcasts. This should be done on a server side to provide best user experience and avoid ad-blockers usage.

Today Softvelum introduces Server-Side Ads Insertion (SSAI) framework for Nimble Streamer, it's called Nimble Advertizer. This framework allows dynamically insert personalized ads into live streaming content.

Advertizer key features are:

  • Pre-roll ads per each connection
  • Flexible timing setup for mid-roll ads
  • Per-stream ads insertion business logic
  • Personalized ads

Nimble Advertizer may use all input live protocols supported by Nimble Streamer, they are Icecast and SHOUTcast, RTMP, RTSP, SRT, UDT, HLS and MPEG2TS.
Live input codecs are AAC and MP3. Notice that with our Live Transcoder you may also use MP3, MP2, Speex, PCM G.711 (a-law, μ-law)
For your ads source files you may use AAC and MP3 codecs.

Output live stream protocol is Icecast - this is the most popular protocol for online radios.

The workflow is easy to adopt within any business logic

  1. Nimble Streamer media server processes incoming streams to get audio 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 Icecast protocol
  5. End user connects to Nimble and gets audio stream containing original content mixed with advertisements
  6. Playback is running smooth regardless of ads insertion over time in any player which supports Icecast.


Server-side Ads Insertion framework (Nimble Advertizer) is a premium functionality which requires additional payments. Please contact us to get more details about functionality and pricing.

Related documentation


Nimble StreamerAudio streaming features in Nimble StreamerLive Transcoder

December 29, 2017

Softvelum 2017 summary

Happy New Year!

The year of 2017 is over so we'd like to look back at what our company has accomplished during these past months.

It's been a successful year for us - we've stepped into several new areas of streaming landscape and we're glad to provide new products and features to our customers.

Speaking of new territories, our team made an article to share our opinion on the business competition in our industry - it's an answer to a very frequently asked question, enjoy.

Before moving forward, take a look at the state of streaming protocols: we compared data from 2017, 2016 and 2015 to see the dynamics.

Let's see what we've introduced in 2017.

SLDP


Softvelum Low Delay Protocol is a new technology for reducing the latency for last-mile delivery for end-users. It's based on WebSockets for better accessibility.
The core features are:
  • Sub-second delay between origin and player.
  • Codec-agnostic
  • ABR support
  • HTTP and HTTPS on top of TCP
  • Buffer offset support
Take a look at SLDP usage description and also most frequent questions that show the protocol best practices. In addition to low latency, SLDP provides great level of live streams protection, read this article for more details. Server side support is available in Nimble Streamer - it covers all capabilities of SLDP.

Client side is covered by SLDP Players.
Web player is working in any MSE-enabled web browsers on desktop and connected devices. SLDP HTML5 JavaScript SDK for creating low latency HTML5 players is available for licensing.

SLDP is also supported by mobile SDKs. Both Android and iOS have free apps to perform SLDP and RTMP playback, you may also use SDKs to add your own playback capabilities into your apps.

SRT


SRT streaming technology, originally created by Haivision and opened to open-source community, is available in Nimble Streamer at x64 and ARM platforms. It's a protocol which adds reliability to UDP transmission with error correction, encryption and other features which make it a great method to deliver live content across unreliable networks. Softvelum was also among first participants of SRT Alliance (created by Haivision and Wowza) to take part in improving the protocol.

You can enable SRT in Nimble by installing SRT package and making respective settings.

SRT is a great choice for building delivery networks based on un-reliable environment. For last-miile delivery, you may use SLDP described above.

Nimble Streamer and Live Transcoder


We're glad to announce an article in Streaming Media magazine by Jan Ozer about our Live Transcoder: Review: Softvelum Nimble Streamer Is Flexible and Well-Featured
We appreciate Jan sharing his opinion and we'll keep improving our products per his feedback.


fMP4
Apple released the support for fMP4 as part of HLS standard recently. Softvelum was the first to introduce fMP4 for live streaming. You may set up Nimble Streamer to produce fMP4 HLS live streams along with other protocols. It supports both HEVC/H.265 and AVC/H.264 video so new Apple devices are able to perform its playback.

DVR
We've also added fMP4 HLS DVR support in Nimble Streamer DVR - it allows streaming recorded content in both fMP4 and legacy containers at the same time.
Speaking of recording, Nimble Streamer and WMSPanel now provide DVR timeline browsing and playback. This allows browsing through the recorded history and play what you need from any point.

Wildcard ABR was added to support dynamic names for adaptive bitrate streams in addition to pre-defined ABR settings which was widely used previously.

We've added Periscope stream publication and Facebook Live publication support in our setup UI for convenience of our users.

UDT streaming protocol is available in Nimble Streamer. Read this article for setup details.

We've ported Nimble to IBM POWER8 architecture. It's a good addition to traditional x64 and ARM which were supported before.


Our Live Transcoder was updated significantly to add new features.

First, check an extensive testing of latest NVidia Tesla M60 graphic card in IBM Bluemix Cloud Platform to see how much it increases the performance of Live Transcoder.

New codecs were also added into the Transcoder.

HEVC
  • You can decode HEVC using NVENC and QuickSync as well as software decoder.
  • Encoding can be done with NVENC and QuickSync.
Read more about NVENC encoding and QuickSync encoder parameters. Also, QuickSync setup description was updated with Media Server Studio 2017.


VP8 and VP9
Read this article for more details about setup and usage of those codecs. VP8 was also added to VA API implementation in our transcoder to give more flexibility.

MP3
You can encode audio to MP3 from AAC, MP3, Speex, PCM and MP2.

Hot swap
Other major update for transcoder is streams' hot swap with Live Transcoder. It now allows using the following opposite scenarios:
  • Streams failover hot swap where main stream is backed up by secondary stream in case of publication fail.
  • Emergency swap where main stream is replaced with some replacement stream when it becomes available. This is used in cases like US Emergency Alert System (EAS).
The streams are swapped without streams interruption so user playback will not be affected.

FDK and VAAPI
We've also added more encoding libraries in addition to already supported ones: FDK AAC for audio and VA API (libVA) for video.

If you have any issues with Live Transcoder, you can take a look at Transcoder troubleshooting guide which is updated with new cases as long as we provide support to our customers.
Please also take a look at "Before you post a question to helpdesk" article - this is what you'll need to get familiar with prior to sending a question to our team. This article also helps analyzing the issues without waiting for our team response.

Mobile SDKs


Our mobile streaming products were extended significantly.

Larix Broadcaster
Larix Broadcaster and its SDK were updated all the time to include new features. Its UI was reworked to allow multiple connections and other features.
Take a look at mobile SDK FAQ to see answers you might be looking for.

SLDP Player
Mobile playback solutions are now available among our products.
This includes SLDP Player apps for iOS and Android, as well as respective SDKs for adding playback capabilities into your own apps. Currently SLDP and RTMP protocols are supported. iOS supports H.264/AVC and H.265/HEVC video with AAC and MP3 audio, Android has the same plus VP8 and VP9 on top.
Free apps are available in Google Play and AppStore to check all that in action.

You may also check SDKs release notes for all latest updates and use this page to subscribe for SDKs and their support.

WMSPanel


Our WMSPanel web service has been a foundation for most of our products and we keep improving it to keep us with new capabilities.


That's it. Stay tuned for more features in upcoming new year of 2018 - follow us at FacebookTwitter or Google+ to get latest news and updates of our products and services.


December 27, 2017

The State of Streaming Protocols - 2017 summary

Softvelum team continues analyzing the state of streaming protocols. It's based on stats from WMSPanel reporting service which handles data from Wowza Streaming Engine and Nimble Streamer servers - there were 3600+ servers on average this year. A number of views has grown from 20 billion in 2016 to 34 billion in 2017 - our customer base is growing, more and more large customers are coming from various verticals, so all major the protocols are well represented.

Let's take a look at the chart and numbers of this year:

The State of Streaming Protocols - 2017

You can compare that to the picture of 2016 protocols landscape:

The State of Streaming Protocols - 2016
Here's what what we can see from this year.

  • HLS keeps the throne with 60% of the share - it's a de-facto standard for end-user media consumption. Apple keeps improving it with fMP4 and HEVC support so it's not going way any time soon.
  • RTMP is still in use for live streaming scenarios, especially when is comes to real-time delivery. Regardless of continuous Flash decline, this protocol will remain active for some time.
  • SLDP is a new protocol created by Softvelum for those who cannot use Flash and RTMP but still need to deliver real-time streaming. It's based on WebSockets and it can deliver content to MSE-enabled browsers on most platforms. Also, native mobile apps and SDKs can be used for adding SLDP playback on Android and iOS. It was introduced back in late May but it's already got a few millions of views in our customers' networks.
  • MPEG-DASH got a great launch from nearly zero to 6% and it's still gaining momentum. Being DASH Industry Forum member, Softvelum keeps contributing to the community and supports the wider adoption of this technology.
  • Progressive download is traditionally strong in VOD scenarios and many of our customers use it for media delivery along with HLS.
  • Icecast was around 5% through the last couple of years and this trend shows significant interest of our customers in audio streaming. Nimble Streamer has full support for this technology
  • Other protocols are becoming more niche, getting less percentage over time as you can see.

Bonus track: 2015

Check our stats from 2015 when we collected the data from 2300+ servers.

The State of Streaming Protocols - 2015

We'll keep analyzing protocols to see the dynamics. Check our updates at Facebook and Twitter.

If you'd like to use these stats, please refer to this article by original name and URL.

November 26, 2017

Mobile SDKs update for November 2017

Hello,

Our team is glad to make a brief announcement for our mobile solutions released this month.


The following updates were made for the SDKs.

Larix SDK for Android version "1.0.32"
  • Audio callback added for custom audio processing
  • Several improvements
Larix SDK for iOS version "1.0.32"
  • Updated to Swift 4 & XCode 9.1
  • Several improvements
SLDP Player SDK for Android version "2017-11"
  • ABR support
  • HEVC support
  • VP8 and VP9 support
  • MP3 support
SLDP Player SDK for iOS version "2017-11"
  • ABR support
  • HEVC support
  • MP3 support

Subscribe on this page for the respective SDK if you'd like to get any updates. You can try them all in action using free apps listed on this page.


Take a look at full list of releases and their changes on this release notes page.

If you have any questions regarding the library usage, please feel free to send request to our engineering helpdesk.


Follow us at FacebookTwitter or Google+ to get latest news and updates of our products and services.

November 20, 2017

DVR for fMP4 HLS with HEVC and AVC in Nimble Streamer

As our customers already know, Apple announced the support for fragmented MP4, or fMP4, in HTTP Live Streaming protocol.  Proper support is available in latest versions of Apple's operating systems.

Softvelum recently introduced live streaming fMP4 support in Nimble Streamer. It allows transmuxing of incoming streams with HEVC (H.265) and AVC (H.264) content. Nimble Streamer is the first software media server to have full support for fMP4 in HLS for live streaming scenarios.

Now we're the first to introduce full support for fMP4 DVR.

Nimble Streamer allows recording any incoming live streams with HEVC (H.265) and AVC (H.264) content to provide playback capabilities - with fragmented MP4 container in addition to existing MPEG2TS container.

The DVR setup is done the same way as before - read this DVR setup article for more details. It has no difference between AVC and HEVC content.

You can play fMP4 and MPEG2TS HLS DVR streams simultaneously with no need for additional settings - the only difference is in output URL. If you have a live stream name like
http://yourhost/live/stream/playlist.m3u8
then your MPEG2TS-based DVR stream URL will be
http://yourhost/live/stream/playlist_dvr.m3u8
To use fMP4 playback DVR stream, your URL will be
http://yourhost/live/stream/playlist_fmp4_dvr.m3u8
So you can provide proper links for different target device types according to their capabilities.

The ABR DVR stream for fMP4 would be played the same way - just specify ABR app name in URL with the same playlist name:
http://yourhost/live_abr/stream/playlist_fmp4_dvr.m3u8
Of course, it can also be used with MPEG2TS ABR streams.

With this new type of URL you can use all the same DVR features: