December 19, 2023

Apple HTTP Live Streaming Tools for Linux

Apple has released a new version of its HTTP Live Streaming Tools, a package of command-line tools for creating and testing HLS solutions. There’s a delightful surprise for developers,  as the recent release is also available as Centos 7 package.

This brings a lot of convenience to global developers' community!

The HTTP Live Streaming Tools package includes five tools for CentOS Linux 7: Media File Segmenter, Media Subtitle Segmenter, Media Stream Segmenter (Low Latency HLS mode included), Variant Playlist Creator and Media Stream Validator. These tools help developers segment, validate, and optimize their HLS streams using almost any web server infrastructure for streaming to iOS, macOS, and tvOS.

The latest release adds a new feature: the ability to segment spatial video content for delivery to Apple Vision Pro, a device that enables immersive viewing experiences. Spatial video technology allows capturing the full 360-degree environment around the camera.


The HTTP Live Streaming Tools are available for download from the Apple Developer website. Users need to have a valid Apple Developer account to access the tools. We commend Apple for making these tools available for Linux developers, as it shows their commitment to supporting the open-source community and the web standards.

December 4, 2023

Nimble Streamer OpenSSL 3 fix

Nimble Streamer team is continuously working on improving the stability and robustness of our media server, including the underlying libraries and components.

OpenSSL 3 issue

A new behavior was introduced in OpenSSL 3, causing SSL library to return EOF-related errors during SSL shutdown sequence. The following pages for more technical details: OpenSSL issue 11381commit for corresponding fix.

As we found Nimble could also receive such errors unexpectedly during SSL send operations which could lead to unexpected connection interruptions when streaming over any protocol that use TLS/SSL, such as HLS, MPEG-DASH, SLDP, Icecast as well as RTMPS in all modes.

Nimble 4.1.0-5 contains a fix for this behavior setting SSL_OP_IGNORE_UNEXPECTED_EOF flag for compatibility with OpenSSL 3.

OpenSSL 3 is used on Ubuntu 22.04, so if you're using 22.04 we'd strongly recommend to upgrade to Nimble 4.1.0-5 or later to avoid potential streaming issues.

Upgrade instructions

To upgrade Nimble Streamer to the latest version, please go to Nimble Streamer installation page, select your operating system and scroll down to "Operating, upgrading, uninstalling" section.

If you have any questions or issues please send them to our helpdesk.

October 25, 2023

GPS HTML overlays in Larix Broadcaster

Larix Broadcaster provides a wide variety of features for IRL streamers, from advanced connectivity options to web overlays.

To add more capabilities for IRL, we introduce GPS data support for HTML overlays. It allows showing current spatial position and other parameters.

The following parameters are supported:

  • Current date and time
  • Current GPS coordinates (latitude and longitude)
  • Instantaneous speed of the device
  • Altitude, i.e. height above the sea level
  • Device's azimuth relative to true or magnetic north
  • Current location name (e.g. as shown on Apple maps)

You can learn more about GPS overlays setup on GPS params page.


This feature is available as part of Larix Premium in-app subscription. By subscribing to Premium you support our engineering team and allow us to move forward with new features.


Download Larix Broadcaster:


September 29, 2023

WHEP WebRTC low latency playback in Nimble Streamer

Nimble Streamer team is continuously improving low latency streaming features to provide our customers with the best set of options they can choose from.

Last year we introduced WebRTC WHIP (WebRTC-HTTP ingestion protocol) support in Nimble Streamer to provide ultra-low latency ingest into the media server. You can read full WebRTC WHIP setup instructions and try it in action.

Now it's time to take the next step and give our customers low latency playback. Our team has always preferred to rely on open standards so we chose the best option available.

WebRTC WHEP (WebRTC HTTP Egress Protocol) provides easy communication between a server and a client, while being interoperable with other solutions that support WHEP signaling. This is a result of industry cooperation, thanks to Sergio Murillo and Cheng Chen who developed it into an IETF standard draft.

Nimble Streamer uses Pion implementation of WebRTC API. This framework not only gives the flexible API but also provides high-performance and low resource usage which completely correlates with our own approach to creating sustainable and cost-effective software.

We'd like to thank Sean DuBois and all Pion contributors for maintaining such a great framework.

1. WHEP support overview

Nimble Streamer generates WHEP playback output with the following codecs:

  • Video: H.264/AVC, VP8, VP9 and AV1
  • Audio: Opus

You can refer to supported codecs page to see how you can deliver the pre-encoded content and re-package it without additional action. For instance, you can ingest VP8 video and Opus audio using WebRTC WHIP and generate WHEP playback as is, with no additional overhead.

If your source has different codecs then you can transcode the content. E.g. if you get RTMP with H.264 video and AAC audio from your source, you use Live Transcoder to transcode AAC into Opus and then to pass through H.264 with no need for decoding and encoding.

You can read more about various scenarios in Further Usage section below.

The stream can be played in any browser using WHEP player. Please refer to Player setup and usage section below for more details.

Notice that WHEP AV1 playback is currently working only in Chrome. We're looking forward to other browsers and platforms to support it via WebRTC.

Our team likes to contribute back to the open source that use use. In order to handle AV1 WebRTC playback, we've made a code contribution into the Pion framework to add proper AV1 support.


2. Server setup process


Follow these steps to get WHEP working in your Nimble Streamer instance.
We assume you already have a paid WMSPanel account. If you don't, please sign up and subscribe.

Also, watch at this video tutorial which illustrates the setup process.


Watch more tutorials in our WebRTC YouTube playlist.

2.1 Installation

First, make sure you've installed the latest Nimble Streamer or upgraded it to the latest version.

Second, WHEP implementation has some dependencies on Nimble Live Transcoder so you need to install it first, then subscribe for a license and register it on your server. Please refer to Transcoder installation page for details.

2.2 Set up SSL for Nimble

The next step is to enable SSL for your Nimble instance for further playback.

You can set up your SSL certificate using this general instruction. You may obtain CertBot Let's Encrypt free certificate as we've described here. For testing purposes you may create your own self-signed certificate but in order for it to work, you'll need first to open any https:// page like https://yourhost.com:port/ and accept security risk. For production purposes in general, you need to have a valid SSL certificate. Also, your server must be assigned for the domain of this certificate.

Once you've set up SSL for Nimble, you need to test it. Open https://yourhost.com in your browser, where yourhost.com is the host of your Nimble. If you get error 404 and have no warnings from your browsers then your SSL was set up is properly and is working.

2.3 Add parameters into config

The next step is to enable the feature set in Nimble config file. On Linux, it's located at /etc/nimble/nimble.conf.  Please check parameters reference page for more details about operating with the config.

Here are the parameters you need to have in the config
webrtc_whep_support = true
access_control_allow_headers = content-type,location
access_control_expose_headers = location
transcoder_change_params_on_the_fly_enabled=true
If you use WHIP ingest, you're familiar with some of those as we described in respective article. So you just need to put webrtc_whep_support there in addition.

Once you've added the parameters, don't forget to re-start Nimble as described here.

2.4 Enable WHEP for streaming application


Now you need to enable WHEP for the output applications that you will provide for your users.

Log into your WMSPanel account, go to Nimble Streamer top menu and click on Live streams settings item.

Here you can enable WHEP either globally on server level, or for a specific application.


Once you enable the checkbox and save settings, you won't need to re-start Nimble, it will be applied automatically within a few seconds.


3. WHEP adaptive bitrate support

Nimble Streamer allows setting up and using adaptive bitrate (ABR) for WHEP playback using bandwidth estimation and other techniques.

Read WebRTC adaptive bitrate for WHEP article for setup details once you get familiar with current single-bitrate WHEP playback setup.

Please also read Inside of WebRTC adaptive bitrate streaming algorithm from Softvelum article to have a look inside of our ABR algo in more details.


4. Player setup and playback

Now lets see how you can play the WHEP low latency stream generated by Nimble Streamer.


4.1 WHEP Player

Softvelum WHEP Player is available in our github account for cloning and further usage.

We forked WebRTC player by Eyevinn as we consider it the best open source player for this purpose. Besides the fork, we contributed back the code for handling audio-only WHEP streams, we'll show this use case below.

Please refer to Getting started section in our repo to see how you can set up and customize the player for your own website, e.g. enabled audio-only playback.

Try now: you may also try our WHEP player at Stream test page where we provide several most popular players to check your streams. You'll find webrtc-player as the first option in the list. 


4.2 Playback URL

WHEP uses HTTP for establishing connection so the URL for playback will look familiar:

https://127.0.0.1:8443/live/whip/whep.stream

You can see HTTPS protocol and port 8443 for streaming via SSL.

Please also notice "whep.stream" element after the stream name. This is how Nimble Streamer will handle it as a request for WHEP playback.

App and stream name is defined based on your input and output streams setup, please refer to respective protocol setup instruction.

You can use that URL for further playback in our WHEP Player or any other WHEP-enabled player.


5. Network-related parameters


By default, Nimble Streamer works in ice-lite mode.

If Nimble server instance runs on a host with public IP address then additional configuration is not needed.

If a server instance runs on Amazon EC2 then you'll need to create an additional config file at /etc/nimble/whep_config.json and add the following JSON there:
{
"NAT1To1IPs":"a.b.c.d",
"NAT1To1CandidateType":"host"
}
where "a.b.c.d" is a public address assigned to AWS server instance. If it has multiple IP addresses, just add them in the same parameters separating by comma like this:
{
"NAT1To1IPs":"a.b.c.d,w.x.y.z",
"NAT1To1CandidateType":"host"
}
This file is processed by Nimble at the beginning of each new publishing session, so you can change it without re-starting the server.

To define ports range, you can also add these parameters:
{
"PortMin":1000,
"PortMax":40000
}
In this case the candidates will be selected only from the range of ports 1000 to 40000.

If you want to use the same port for all WHEP playback connections, you can use the following parameter instead of PortMin and PortMax:

{
  "ICEUDPMuxPort":1234
}

Notice that you cannot use the same port for both WHEP playback and WHIP ingest simultaneously.

If you use network parameters mentioned above, the combined JSON in this case will be:
{
"NAT1To1IPs":"a.b.c.d",
"NAT1To1CandidateType":"host",
"PortMin":1000,
"PortMax":40000
}
JSON format requires this kind of syntax and if you add them in different blocks or have no commas between parameters, Nimble will not process the config.

6. Further Usage

WHEP Playback is a great addition to the existing set of output protocols. This means that you can create new combinations of input with output as well as use proven existing feature sets on top of WHEP playback to add more power to it.


6.1 Live transmuxing and transcoding

The number of use cases for combining WHEP with other streaming protocols is huge, here are some of them.

Combine WHIP input and WHEP output. You can take WHIP ingest into Nimble instance and then re-package it into WHEP playback. It's a very light-weight operation, so ultra-low latency WebRTC ingest from your browser or mobile app will flow seamlessly into low latency playback in other browsers. Use this article to set up WHIP ingest and use the setting above to complete the WHEP part.

Convert RTMP into to WHEP. You use your favorite RTMP-powered media source to deliver H.264 video with AAC audio into Nimble Streamer. Then you set up Nimble Live Transcoder scenario which passes through the H.264 content without decoding/encoding, decodes AAC and encodes it into the Opus output. With this H.264/Opus combination you then create WHEP output just like we described above. This will not require too much resources because audio transcoding is a cheap operation.

Use SRT HEVC source for WHEP output. You use some HEVC-powered encoder or media server which is able to deliver it via SRT stream. Once you route it to Nimble instance, you can then use Live Transcoder to transcoder HEVC video into H.264 or VP9, and also transcode AAC into Opus. This resulting content is then easily delivered via WHEP into viewers' browsers for convenient playback.

These are just few possible option, but the general idea is that you may juggle transmuxing and transcoding features of Nimble Streamer to achieve the best combination of codecs and protocols to provide the best user experience. And all that comes at the low cost of ownership.


Notice on transcoding scenarios for Opus output.
Once you create a scenario and put audio encoder element, please use FFmpeg as encoder and libopus as codec name as shown below.


6.2 Audio-only low latency playback

Nimble Streamer is used extensively for audio-only scenarios, like online radios. This includes a huge Icecast feature set, audio-only HLS and audio only SLDP.

With WHEP in board, you can add one more element to this kind of cases. Audio processing is a light-weight operation that will enable you to give more playback options to your listeners.

Most obvious case is when you ingest Icecast, transcode audio from MP3 or AAC into Opus, and then just generate WHEP output for browser playback.

In addition, you can use traditional sources like RTMP or SRT to pick up audio track from it, transcode into Opus and make audio-only output via WHEP. It works the same way as for Icecast transformation.

MPEGTS input can carry multiple tracks, including several audio channels for different languages or additional comments. You can pick up each track and generate Opus output.

Audio mode is something that we wanted to take care of, knowing the interest from our online radio customers to it. As was mentioned above, we even made a contribution into Eyevinn's player to to handle this case.

6.3 NDI to WHEP

NDI ingest can also be a good source for WHEP output. If you're running a live production based on that technology, you can get NDI into Nimble Streamer and transcode it into WHEP live stream. This will give you a seamless ultra-low latency bridge between your internal production environment and the Internet viewers in their browsers.

It's a unique use case to any existing solution so if you use NDI, you should definitely try it. Just set up the NDI input and the procedure above to generate WHEP.

6.4 Playout (server playlist)


Nimble Streamer Playout, or as we often call it server playlist, is also able to generate WHEP output. With Playout way you may combine live streams with pre-recorded videos. This allows creating your own TV or radio station with just one Nimble Streamer instance.

So now your viewers can watch Playout output in the browser with the WHEP Player, just like they do with other protocols.

Notice that you will still need to transcode the Playout output into supported video codecs and Opus audio, unless your original content is already encoded with them. Once you set up Playout config, just add the Transcoder scenario to make the proper output.

6.5 Paywall and authorization features

Nimble Streamer Paywall feature set fully covers WHEP playback just like it does for other protocols

So everything you need to protect your stream, can be used for WebRTC playback. Just check an additional protocol in your WMAuth rule.


6.6 HTTP aliasing

WHEP URLs can also be used in combination with HTTP Aliasing feature.

Aliasing allows mapping multiple names to single media stream in order to add some flexibility into streaming process. It's good for cases when you have some media stream and you need to provide it under different names. For example, you are a content provider and want to give your stream to multiple partner websites and services. Aliased streams can use different security and monetization approaches as well.

So full aliase-based flexibility is now available for WHEP as well.


6.7 Playback statistics

Last but not least, WMSPanel web service provide wide and rich feature set for reporting the viewers' statistics which now include WHEP views. Any stats and metrics our customers have been using for more than a decade, now cover low latency playback as well:

  • Daily stats with geo-location and devices report
  • Deep stats with per-stream daily stats
  • Unique viewers
  • High-precision reporting

WHEP playback is handled like any other HTTP-based protocol so it has the same proven reliability.


As WebRTC allows tracking lost packets, the daily stats have Lost column which indicated the lost traffic in addition to overall bytes sent and received.


7. Performance tuning

If you serve your live streams to dozens of thousands of viewers, you may need to tune up the perfomarnce of Nimble Streamer for that. There are a couple of a parameters that you can put into  /etc/nimble/nimble.conf. file.

  • webrtc_whep_worker_threads - this parameter sets the number of working threads for WHEP sessions processing. It's "1" by default.
  • webrtc_whep_max_viewers - in some high load cases the number of simultaneous WHEP connections can be significant. By default Nimble processes 2500 simultaneous connections per each WHEP working thread, but you can increase/decrease this value with this parameter.

Please refer to parameters reference for more options.



Let us know how this feature works for you and what else we can do to enhance it from your practical perspective.

Later on we'll introduce more tutorials - both text and videos - to show full power of WebRTC WHEP playback.

Follow us in social media to get updates about our new features and products: YouTube, Twitter, Facebook, LinkedIn, Reddit, Telegram

August 16, 2023

How to stream HEVC to YouTube with Larix Broadcaster

We've published a new video describing how to stream HEVC to YouTube with Larix Broadcaster, here it is!





August 4, 2023

Improving Stability: Nimble Streamer Unveils the Out-of-Process Transcoder Mode

We're excited to introduce the latest innovation in Nimble Streamer: the Out-of-Process Mode for Live Transcoder scenarios. Designed to tackle stability challenges, this feature takes streaming technology to new heights.

The Out-of-Process Mode isolates the transcoding process from Nimble Streamer's core. This allows Nimble to restart transcoding scenarios without disrupting the entire system. It helps in cases like these:

  • Some encoder, decoder or filter libraries crash due to internal faults and cause server to crash.
  • The library or process in use is hanging up and hangs the server.
  • Some process is leaking the memory and it affects the entire server RAM usage.
  • When NVENC GPUs are used in different scenarios, some of those GPUs may fail which may lead to hanging multiple scenarios.

As a result, with this feature now you can avoid any un-expectected issues. For example, you may upgrade to a new NVENC driver and not be afraid that it will crash the entire server.

So this flexibility translates to uninterrupted streaming operations and efficient streams troubleshooting.

First, make sure the latest version of Nimble Streamer and Transcoder is running. Upgrade them as described in our OS-specific documentation.


Enabling out-of-process transcoding
Enabling out-of-process transcoding

Navigate to a list of Transcoder’s scenarios, and click on "pencil" edit icon. Click the "Out-of-process" checkbox in the appearing dialog box and then click OK button. Alternatively, you may set this checkbox while editing a Transcoder’s scenario, via the same edit icon.

At this moment, Nimble initiates a separate process called nimble_scenario_transcoder, in which the scenario will be running. It's completely detached from Nimble Streamer, and can be shut down or restarted without interruption of any other input or output streams. The re-instating occurs automatically, as Nimble is monitoring the flow of incoming and outgoing frames on the Encoder. If these frames cease to appear in the output, the scenario is automatically restarted.

In conclusion, Nimble Streamer's Out-of-Process Transcoder Mode marks a huge step towards bolstering stability in streaming scenarios. We invite you to experience it firsthand. As we continue to innovate, we highly value your feedback to further refine and enhance our offerings.


July 25, 2023

AV1 live streaming support in Nimble Streamer

AOMedia Video 1 codec, or AV1, is a free codec that is being widely adopted by the streaming media industry. Its support is now provided by various hardware and software products.

Nimble Streamer software media server now supports AV1 codec in various transport protocols and delivery options.


AV1 Input

Currently the conventional live streaming protocol to deliver AV1 is RTMP. Using Enhanced RTMP spec, it's possible to deliver AV1 as well as HEVC content.

Nimble Streamer supports Enhanced RTMP to receive AV1 from any source that supports this technology.

It's also possible to receive AV1 via MPEG-TS-based protocols:

However, since it's not standardized yet in MPEGTS transport, this is available only for the sources powered by Nimble Streamer (see output section below).


AV1 Output

Having AV1 taken into the Nimble Streamer instance, you may generate various output options.

You may generate MPEG-DASH live streams that your customer  are able to play on various platforms.

Our own SLDP low latency delivery technology may also carry AV1 and play it in the browsers using SLDP HTML5 Player.

Nimble Playout - a technology for server playlist generation - supports AV1 for MPEG-DASH output. So you may combine various sources with that codec.

Nimble DVR also allows recording of AV1 from available sources and providing playback via MPEG-DASH.

Last but not least, you may restream AV1 via RTMP. In addition, you may publish SRT in all output modes to other Nimble Streamer instances.


VOD AV1 support

Notice that you may transmux your AV1 VOD files to MPEG-DASH VOD streams. Along with live streaming this covers a wide variety of streaming use cases.


Install Nimble Streamer today and try this feature in action.


We continue improving AV1 feature set to add decoding and encoding capabilities.

Let us know of your thought and feedback about AV1 usage.




.

July 12, 2023

Zixi live streaming in Larix Broadcaster for iOS

Softvelum team is excited to announce that we have added Zixi protocol support to our Larix Broadcaster app for iOS. This is a great feature that will help you stream high-quality video over the internet with more reliability.



Zixi protocol is a software-based platform that enables reliable transmission of broadcast-quality HD video over unmanaged Internet connections and private IP networks. Zixi uses advanced error correction techniques to manage jitter, packet loss, and latency, ensuring error-free video delivery. With Zixi protocol support, you can stream to Zixi-enabled destinations, such as Zixi cloud services, Zixi Broadcaster servers, or Zixi Player. This opens up new possibilities for high-quality and low-latency live streaming from anywhere in the world.

Larix provides full range of Zixi streaming in addition to other protocols like NDI, SRT or RTMP. Both AVC/H.264 and HEVC/H.265 video codecs are supported. Zixi is also supported in Larix Grove, a technology that uses QR codes to generate connections within Larix Broadcaster. So you can distribute connection details to remote contributors by either sending a QR code or a URL via email or messenger.

Zixi support is part of Larix Premium in-app subscription for just $9.99 per month. Without Premium, you can stream for up to 5 minutes via Zixi.


Download Larix Broadcaster for iOS now and subscribe for Larix Premium to try Zixi streaming in action.

Download at App Store

Larix Broadcaster is developed by Softvelum, a company that provides innovative solutions for live streaming and media delivery. Learn more about Larix Broadcaster and other Softvelum products.

May 30, 2023

Enhanced RTMP to deliver HEVC and AV1

Recently, Veovera Software Organization has released a new Enhanced RTMP spec.

This spec extends the capabilities of RTMP to deliver the content encoded with H.265/HEVC and AV1 codecs.

Some finally, the new generation of codecs can be delivered using this proven technology. Considering lower bandwidth needed to throughput AV1 and HEVC, this can tremendously reduce the costs of delivery and ownership in general.

 

HEVC was supported in our products for a long time using other protocols, while AV1 was available only for VOD via DASH. Now our team has implemented this new RTMP spec across our products to help our customers improve their infrastructure.

Let's see what we can do for you.


Nimble Streamer software media server

RTMP feature set works the same way as before while being able to carry new codecs:

  • Receive RTMP as both published and pulled stream
  • Re-package HEVC content into into other output live protocol such as HLS, DASH, SRT, MPEGTS etc
  • Record DVR and play it.
  • Re-publish the stream via RTMP.
  • Provide RTMP stream for pulling by other solutions.

So whatever use cases you have with RTMP, the new HEVC and AV1 codecs will go in smoothly.

This brings some new interesting combinations.

Generating live MPEG-DASH with AV1 content is one of them. DASH is supported by a large number of players on various platforms, as well as AV1 decoding, so you can make live AV1 streaming for end users now. The setup is the same, so if you have it in place, you don't need to change anything.

This also opens ability to re-publish HEVC stream to YouTube from Nimble, it works as any other republishing. See also Larix description below for details of this use case.


Read more about AV1 live streaming support in this article.


Notice that previous non-standard RTMP spec extension is still supported via a respective parameter.


Larix Broadcaster mobile apps

Larix supports HEVC as part of Larix Premium in-app subscription. It could be previously delivered via SRT, RIST and RTSP.

Now, RTMP can carry HEVC as well. So is your destination supports RTMP HEVC, Larix will deliver it properly.

This significantly decreases the required bandwidth so your users may stream better quality streams with the same device and network.

Notice that YouTube supports the new spec, which means that you can publish RTMP with HEVC to YouTube Live platform with all the benefits mentioned above. The setup is the same as before, just enter your YouTube streaming parameters as described here, subscribe for Larix Premium and enjoy streaming!


And of course, you can also stream HEVC with RTMP into Nimble Streamer. If you notice any other software that supports new spec, let us know so we could test it and describe here.

Get Larix Broadcaster on your mobile device:

Notice that previous non-standard RTMP spec extension can still be enabled via Connections / settings menu.



We'll write more about related use cases in upcoming articles, stay tuned for updates in this blog and in our social networks: Facebook, Twitter, LinkedIn, YouTube, TelegramReddit

May 25, 2023

Introducing Larix Premium subscription

Our team started Larix Broadcaster development back in 2015.
At first, it was a proof-of-concept project to follow the demand of our Nimble Streamer customers for an easy-to-use live streaming app.

Over the years Larix turned into a very useful application for streamers with break-though and sometimes unique features like SRT streaming, WebRTC streaming, multiple simultaneous connections and many more. Larix Broadcaster is considered as the best live streaming application on the market by many customers and streaming services. It was and is used in a wide variety of cases from IRL enthusiasts to newsrooms and NFL's 2020 virtual draft.

Larix apps brought a huge added value for our users, and all that was for free, without asking for money.

What's current status?


We were developing Larix on our own expense for years while having occasional sales of SDK to support our mobile engineers. But now the SDK sales are in decline after peak pandemic years.
However, the application is still being developed by a team of professionals. We all want to get paid for our work and we want our engineers be able to feed their families.

At this point we have to move to a subscription model to sustain further development, otherwise we'll have to suspend any further improvements of Larix family of products.

We believe that adding some minor monetization for top-notch capabilities will let us support our engineers and innovate even further by adding new capabilities. For years we could drive in this race of steady development of this world-class product, and and we need further fuel to keep going.

Larix Premium


This month we introduced in-app subscription called Larix Premium and put some existing features under it.

Larix Premium costs 9.99 USD per month and includes features like:
  • Remove time limit for streaming.
    Without Premium, Larix allows streaming for 30 minutes for free + another 30 minutes with mandatory overlay. Then the stream is stopped.
  • HEVC encoding
  • Enhanced RTMP spec which allows publishing HEVC into YouTube and Nimble Streamer
  • SEI NTP metadata insertion
  • Advanced Connectivity settings menu
  • Three or more simultaneous connections and six or more pre-defined connections
  • Larix Talkback
  • WebRTC streaming for more than 5 minutes
  • Dolby HDR on supported Apple devices
  • Android Background streaming
In the upcoming releases, Premium will also absorb the following:
  • Android OTG USB support with additional fixes and improvements.

Larix Screencaster will also have premium subscription soon.

Streaming providers and services


If you're a streaming platform or a service provider and you want your customers to use Larix Broadcaster for free, please let us know about it so we could provide you with various options to support us.

If you're an active streamer, you may get in touch with your platform and ask them to help you make Larix available for you for free.

Streaming world figured out the way to make money: platforms get ads and subscribers, while streamers make profits with all kinds of monetization. Our team is an important part of this ecosystems and we believe our efforts are worth the subscription that we introduce.

Multiple devices under same account


Notice that if you use the same account on multiple devices, you can use the one subscription to unlock Premium on each of them.

So if you use the same Apple ID on several iPhones in your production setup, you will pay for only one subscription and use it on each of those devices. The same applies to your Google account and Android phones.

Other subscriptions

In addition for Premium, we have a separate subscription for NDI mobile streaming support that costs 19.99 USD per month. It's a proprietary protocol and we have to monetize it separately.
Also, Larix Player for Android and iOS now has its subscription that covers a brand new Videowall functionality that allows watching multiple streams on the same screen. It costs 9.99 USD per month.

The mentioned prices are for the United States, the final price may vary depending on country of purchase and local taxes.


As we describe above, adding monetization helps us develop the project further and helps all of our users to keep using the best mobile streaming application on the market.

Please let us know if you have any thoughts on this monetization or other forms of supporting our mobile development team.

May 15, 2023

Dante audio support in Nimble Streamer



Dante support has been discontinued in Nimble Streamer as of November of 2024.

The information below is irrelevant.

 




Nimble supports two scenarios of processing Dante audio.

  • Receiving Dante audio from local live production environment and using it for further content transformation. The resulting audio can be used for further live streaming via conventional protocols like HLS, MPEG-DASH, SRT. Icecast and any other. You may combine it with any available live video input like NDI and produce full-featured live video output.
  • Generating Dante by getting live streams via any available protocol (SRT, RTMP, NDI etc) and providing Dante audio output into your local production environment.

Thus you can process Dante audio and integrate it into your live production environment seamlessly with low cost of ownership.

This article will be updated with latest links and more use cases and related features, stay tuned for updates in our social networks.


Let's see how you can set up Dante and add it into your workflow.


Nimble pre-requisites


At the moment, Dante technology is only available in Nimble Streamer for Windows. The minimum version of Nimble Streamer is 4.0.1-1. Dante is processed by Live Transcoder for Nimble Streamer so you'll need to obtain a respective license. Also, you have to purchase Dante license to make Nimble work with it.

Here are the steps you need to follow in order to start processing Dante with Nimble on your Windows machine.

  1. Sign up for WMSPanel account.
  2. Install latest Nimble Streamer on Windows and subscribe for it.
  3. Install Live Transcoder package on Windows and active its license.
  4. Set up transcoder scenario to receive or send Dante streams.
  5. Purchase and activate a respective Dante license.

We assume you will pass steps 1-3 easily within a few minutes using our instruction, so we'll focus on setting up Dante in Nimble Streamer and activating a license.


Receiving Dante


To receive Dante, you need to set up Nimble Live Transcoder to obtain the audio and transform it into other codecs suitable for your use cases.


Click on Transcoder top menu, you'll see transcoder scenarios page.

Click on Create new scenario to see a blank scenario where you can add video and audio inputs, add transformation filters if needed and then set up encoders to produce the output.

To have Nimble receive Dante, drag and drop new audio source and choose Dante in the respective dialog.


Enter Dante name which will be used in your Dante scenarios, such as license activation and routing with other Dante-powered devices.

Then add audio encoder element and link it to your Dante input. Nimble provides various audio codecs, and in order to test the scenario you can choose AAC audio with default settings.


Once you save scenario and it's synced to Nimble instance, you'll be able to connect to audio stream using any supported audio protocol.

To define the protocols you can go to Nimble Streamer top menu / Live streams settings to open the respective page.

Here you may set up either global server setup for output protocols or define specific application setting. In our case we define live application with Icecast, audio-only HLS and SLDP.


You may also re-stream this output via RTMP republishing or SRT publication, please refer to the respective docs for details.


Sending Dante


If you have any live stream input in your Nimble Streamer instance, you can use it as a sourse for Dante output. You may use any protocol like RTMP, SRT, NDI, WebRTC, Icecast or any other from the list of supported technologies.

In our case we have a live stream available, this page can se accessed via Nimble Streamer top menu / Live Streams.

Active live stream input
Active live stream input

Now we need to set up a transcoder scenario. To generate Dante output. As mentioned in previous case, click on Transcoder top menu, you'll see transcoder scenarios page. Then click on Create new scenario to see a blank scenario.

In this new scenario, first add an Audio source to decode your audio source stream. There you need to use the name of your input stream. In our case it's /live/stream/ (see picture below).

Transcoder scenario for Dante output
Transcoder scenario for Dante output

Then you need to drag and drop Audio output. There you choose Dante in the respective dialog.

Dante output settings
Dante output settings

Use Dante name field to define the name which will later be used for device activation and routing.

Once you have your Dante stream set in Nimble Streamer, you need to purchase and activate a respective license as well as set up device routing for your audio stream.

Activating Dante license and mapping devices


Those of our customers who use Dante, know the licensing procedure very well, so we'll show basic steps and device mapping.

First, the Dante stream at Nimble instance will become visible as a new unlicensed device.


Start Dante Activator to start the license purchase process.


Choose the number of channels you'd like cover and proceed with the purchase.





Now the license is activated and our new device can be used properly.


After that you can route your audio to other devices. In our case we route Nimble's Dante output into a  Dante-powered speaker.


You can contact Audinate support team for more information about activating Dante license.


Further steps


Once you have Dante being active and mapped, your device will be able to receive or send data, becoming part of your live streaming production and content delivery infrastructure.

We'll be improving this feature set and will provide with more use cases so you could use Dante with better return of investments.


Let us know of your experience of using Dante.


Related documentation

Nimble Streamer, Live Transcoder, NDI support in Nimble Streamer



May 6, 2023

NDI HX2 support in Larix Broadcaster

Larix Broadcaster now has NDI®|HX2 support!

You can turn your mobile device into NDI source:
  • Output streaming via NDI®|HX2
  • Preview stream support
  • Discovery Server and connection metadata
  • Handle zoom from NDI Studio Monitor
It's based on NDI SDK 2023-04-10 r134150 v5.5.4

You can install it now and subscribe for just $19.99 per month in-app.

Download on the AppStore

Get it on Google Play


Let us know of your suggestions and feedback regarding this feature set.


March 24, 2023

Price adjustment for Nimble Streamer

Since the first release of the first Nimble Streamer server in April of 2012, our team has always been focused on the quality, performance and availability of the product. As for the monetization aspect, we tried to stay low cost in order to be an affordable solution. The price per core instance was gradual up until 2017 and never exceeded 10 USD. In 2017 we set it precisely to 10 USD to make things simple. We kept these low prices despite the increasing costs of development and maintenance as well as overall pricing trends of our streaming media industry.

Now, a decade after our server introduction, we are increasing the price for Nimble Streamer server.

The new price is 50 USD per month per server instance.
Other prices, such as licenses for Transcoder and Addenda as well as WMSPanel features and stats, remain the same.

All trial accounts have this new price for their subscriptions effective March 23rd.

We appreciate all of our current subscribed customers so we give some additional time to adopt the new costs.
All existing subscriptions will be upgraded accordingly.

In addition to that, the number of servers per billing cycle is now calculated by peak value. So if you add and remove servers, the charged amount will reflect the maximum number of simultaneous servers within the billing cycle.

Our team will keep improving and maintaining Nimble Streamer along with adding new outstanding cutting-edge features. We want to thank all of our customers who supported us through the past decade and we are confident that we'll move forward together in our endeavor.

If you have any questions, please let us know.

March 3, 2023

WebRTC ingest support in Larix Broadcaster

Larix Broadcaster mobile apps for Android and iOS have become very popular among live streaming community in the last several years and they are widely used in all sorts of scenarios and setups.

It has one-of-a-kind set of connectivity features which includes the support for SRT, RTMP, RTSP and RIST, allowing for multiple simultaneous connections to several destinations. It also supports Talkback, pause and stand-by modes, audio-only streaming and more.

Now we introduce WebRTC support via WHIP signaling in Larix Broadcaster.

You may ingest WebRTC into any software capable of processing it via WHIP. This includes the following names:


Feel free to install Larix Broadcaster and try it now:

Please contact us if you've also tested Larix WebRTC with your server or service. WHIP signaling becomes one of the industry standards, so we all need to make sure of full interoperability between solutions.

If you'd like to integrate WebRTC ingest in your streaming app, check our mobile SDKs:
and subscribe in case you want to try.


Larix Broadcaster uses Pion implementation of WebRTC API.
Softvelum extends a special thanks to Sean DuBois and all Pion contributors.


Follow us in social media to get updates about our new features and products: YouTubeTwitterFacebookLinkedInRedditTelegram

February 13, 2023

Introducing changes to Nimble Streamer licensing

TLDR: Each instance of Nimble Streamer starting version 4 must be registered in WMSPanel

Our team started the development of Nimble Streamer in December of 2012 and released it in early 2013. We started this product to respond to the needs of the streaming industry. People needed an affordable tool which could help them solve their basic streaming tasks at a low cost. So, we responded by creating a basic smart caching streaming server which we called Nimble Streamer. And we put it out as a freeware: people could use the server for free and pay only for extra web service for setup and stats.

Now, a decade later, Nimble Streamer is a multi-functional software media server which is used by thousands of organizations across the globe in all kinds of verticals. It’s one of the few software products on the market capable of building full-featured streaming infrastructure.

Over the years the cost model has always remained the same: it was a freeware and people paid us for Nimble instances only if they needed the web UI of WMSPanel or add-ons like Transcoder and Addenda. The users without WMSPanel paid nothing while getting all updates, features and bug fixes via publicly available repositories. This zero-cost model persisted despite the fact that Nimble was continuously evolving into a much bigger product which required more people to develop, maintain and improve the quality.

It's time to make change.

We’ve been reluctant to change the freeware licensing for the past decade, however, it’s time to move forward.
  1. Starting from version 4, any Nimble Streamer instance must be registered in an active account of WMSPanel.
  2. All new features, improvements and bug fixes will be added only in Nimble version 4.x.
  3. If the WMSPanel account has been removed due to the end of trial period or subscription deactivation, then Nimble Streamer must be uninstalled.


What about active WMSPanel customers with paid accounts?

Nothing changes for our existing subscribed customers. If you have an active WMSPanel subscription, this will not affect you. We want people to use Nimble Streamer instances with WMSPanel, so if you do, you’re all set. You may use any version of Nimble Streamer with your WMSPanel account.

What about existing standalone Nimble instances of version 3.x or older?

A lot of people use Nimble Streamer versions 3.x without WMSPanel because it just works fine for them. That’s good, so keep using already installed version 3, it will remain fully operable. 

If you want to run the latest supported version or want our team’s support, please register a WMSPanel account and subscribe with whatever instances you have in your fleet.


What if my Nimble instance cannot be registered in the WMSPanel?

Contact us to see if we can provide you with some activation options for that case. 

When will these changes be applied?

Version 4 of Nimble Streamer will be released in early March of 2023.

Any other questions?

Please contact us if you have any questions or concerns about this new licensing model.