November 5, 2024

Remote control for Larix Broadcaster in Larix Tuner

We're glad to announce that we've released Remote control feature set in Larix Tuner for Larix Broadcaster.

Read Introducing remote control in Larix Tuner article to learn more about the setup and usage.

Stay tuned for WebRTC-based video preview for REMI productions.

September 27, 2024

June 25, 2024

June 24, 2024

The blog is moving

A notice to our blog followers.

Starting this month, all our new articles are published at our new blog at Softvelum.com website.

Old articles will remain in this blog and we'll occasionally be updating them once we make changes to our products.

We encourage you to follow us in our social networks: Facebook, Twitter and LinkedIn, join our channel in Telegram and subscribe to our YouTube channel. All our updates from the website, the blog or other sources are announced there.

June 5, 2024

DVR in SLDP HTML5 Player

SLDP HTML5 Player can now provide DVR playback with HLS DVR streams from Nimble Streamer. This brings better user experience for viewers who utilize low latency playback with SLDP protocol and want to be able to rewind or pause the stream. Read this article for more details

Read this recent article to learn more about the setup and usage:

Adding DVR into SLDP HTML5 Player





ABR for WHEP WebRTC

We're glad to announce that we've added adaptive bitrate support into our WebRTC WHEP implementation in Nimble Streamer.
As always, it's highly optimized for delivery to multiple simultaneous viewers to make is cost efficient.

We've published an article in our new blog at Softvelum website:

WebRTC adaptive bitrate WHEP in Nimble Streamer


Follow the link to learn more about why it's important and how you can set it up.

Also read Inside of WebRTC adaptive bitrate streaming algorithm from Softvelum article to learn more about how our ABR works.

May 20, 2024

New case study: Nimble Streamer powers LiveX and VVCR cloud production

Explore our latest case study to see how Nimble Streamer and LiveX are shaping the future of live video production.

LiveX, a leading full-service production company, is revolutionizing live production using Nimble Streamer. LiveX creates and broadcasts live events for global brand leaders, leveraging the power of cloud-based tools like Virtual Video Control Room (VVCR).


Built around Nimble Streamer, VVCR enables fully remote production processes with unparalleled flexibility and scalability. From the NYC Times Square experience to coordinating over 1000 gamers in Call of Duty II events, Nimble Streamer is at the core of LiveX's remarkable projects.

Learn more about the benefits of Nimble Streamer and LiveX collaboration in cloud production.

May 16, 2024

WHEP Load Tester tool to test WebRTC performance

Softvelum team has been implementing various WebRTC features for some time now and you can see results in our WebRTC bundle.


As part of WHEP ABR playback support in Nimble Streamer, we had to create some additional tools in order to test our own solution.

Introducing WHEP Load Tester.

It's a tool for testing WHEP WebRTC playback performance. It launches the simultaneous playback of any number of sessions for a WHEP stream. This way you can test the capacity of your WebRTC WHEP solution and see its performance limits.

Feel free to use it and let us know of your experience and thoughts on it.

March 26, 2024

libaom-av1 and SVT-AV1 transcoding setup with Nimble Streamer

AV1 format is a promising solution for high-quality efficient video compression.

Now with Nimble Streamer support for AV1, streaming services can easily adopt this advanced format to deliver high-quality content. Adding another significant piece into AV1 support, here we describe the transcoding options available for Nimble Streamer Live Transcoder: SVT-AV1 and libaom-av1 encoders are now supported via the respective FFmpeg encoder option.

Prerequisites

Before using the Transcoder for Nimble Streamer, you must have a basic subscription to WMSPanel and a Transcoder license. Please find more details on installing and registering an instance of Transcoder on the following installation page. You should also have a basic knowledge of Live Transcoder setup, please refer to our documentation reference.

1. Decoding AV1 received streams


AV1 streams are supported as video input, and no extra setup steps are required. Just drag Video Source to a timeline, and specify the name of a stream for decoding. After that any of the Transcoder’s filters can be used on the stream.

2. Encoding with libaom-av1


Specifying libaom-av1 for encoding is not much different from any other encoders. Add the Video output to a timeline, name the output application, and stream, and then select FFmpeg as the encoder. Next, type in libaom-av1 in a Codec field. Once you click OK and then Save the scenario, the settings will be applied and you will get the output stream in AV1 format.



Here are the parameters you can use for it

2.1 libaom-av1 constant quality 

To set constant quality for the encoding process, fill in parameters as ‘crf’ and then the number in the option field.


Accepted values are 0-63. Lower values = better quality, 0 = lossless. CRF 23 ≈ x264 CRF 19 (visually lossless).

This mode ensures that each frame receives the appropriate number of bits to maintain a consistent quality level. It is set the same way as for x264 or x265.

2.2 libaom-av1 constrained quality


This one maintains desired video quality (set with ‘crf’ option) while targeting a bitrate limit (‘b’). Use for consistent encoding with a bitrate cap.


The ‘b’ value must not be 0.
Alternatively, you may specify the minimum and maximum bitrate range instead of the ‘crf’ option:


Notice that this mode doesn’t mean setting strict limits for output bitrate, and it can be even higher than  the input depending on the source’s data.
That’s a frequent question to our support team along with the question if the bitrate is specified via the ‘b’ param only (even if no ‘crf’ or ‘minrate’/’maxrate’ is set) and expected to be strictly constant.

2.3 libaom-av1 keyframe control


By default, the Transcoder suggests encoders to use keyframes as set by the ‘Keyframe alignment’ option. 
You may force keyframes via the encoder parameters also. The ‘g’ parameter can be used to set the maximum keyframe interval.
To get a fixed Interval specify both ‘g’ and ‘keyint_min’ to the same value. 
To force all frames as keyframes use ‘g’ as  ‘0’.


You can find more information about libaom-av1 on this page.

3. Encoding with SVT-AV1


SVT-AV1, also known as libsvtav1, is a video encoder that Intel and Netflix created together. In 2020, the Alliance for Open Media (AOMedia) chose it to lead the way for AV1's development and future video codecs. It's also supported by Nimble Streamer Transcoder.

To specify SVT-AV1 encoding, add Video Ouput, name the application, and stream for the output, choose FFmpeg as encoder and type ‘libsvtav1’ in the Codec field.



As you click ‘Ok’ and then ‘Save’ in the scenario window, you will receive AV1 output produced by libsvtav1 codec.

Here are some additional parameters to consider.

3.1 SVT-AV1 CRF


The 'crf' parameter ensures each frame receives the appropriate number of bits to maintain a consistent quality level.  It is set the same way as for x264 or x265, or as described above for libaom-av1.
Accepted values are 0-63. The default value is 35. Choosing a lower CRF value results in higher video quality and a higher bitrate. Encoding in a completely lossless mode is not supported at the moment.

3.2 SVT-AV1 Presets


In SVT-AV1, the ‘preset’ option is used to balance encoding speed with compression efficiency. There are 14 presets available, numbered 0 to 13, where higher numbers mean faster encoding. 



3.3 Additional options with SvtAv1Params


There are some additional options you may want to try with the SVT-AV1 encoder for getting either faster encoding or better quality.

They are listed in the section ‘Usage of SvtAv1Params’ on the following documentation page.

Here we describe, how to apply it in Nimble Transcoder.

Type in ‘svtav1-params’ as a parameter of Video Output in the encoder settings. Set the value of the desired SVT-AV1 parameter and its value in an options input. You may chain several options via semicolons like ‘option1=value1:option2=value2…’



In the screenshot, we showed how to enable the ‘fast-decode’ option and the ‘tune’ option set to Visual Quality (0). The option string is ‘fast-decode=1:tune=0

You may find additional info about SVT-AV1 on this page.


In conclusion, the arrival of AV1 encoding offers new capabilities with its superior compression, royalty-free nature, and high-resolution support. While processing power for encoding might be higher, the long-term benefits – from reduced bandwidth costs to exceptional video quality – make AV1 a future-proof investment for the live-streaming video landscape. Don’t hesitate to evaluate it right now with Nimble Streamer Transcoder.