Softvelum is an active adopter of SRT technology and Nimble Streamer has extended support for it.
Once of the features introduced in latest SRT library versions is the ability to set custom packet filters for SRT transmission. The first introduced built-in filter is Forward Error Correction (FEC).
Before using feature, please read carefully the SRT Packet Filtering & FEC feature documentation in SRT library github repo.
We assume you are already familiar with SRT setup and usage, and you've successfully used SRT in other scenarios and use cases.
Once of the features introduced in latest SRT library versions is the ability to set custom packet filters for SRT transmission. The first introduced built-in filter is Forward Error Correction (FEC).
Before using feature, please read carefully the SRT Packet Filtering & FEC feature documentation in SRT library github repo.
Disclaimer
Before proceeding further, set up a test streaming scenario and make sure it works without additional filter.
FEC filter is still under development so, here is what you need to consider first:
In order to use this filter, you must upgrade Nimble Streamer and make sure you have the latest SRT library package.
Once you upgrade and re-start Nimble Streamer instance, you may proceed to further setup.
According to information from SRT developers team, the FEC filter must be set on both sender and receiver sides and at least one side should define a configuration for it. IN our example we'll define configuration parameter on sender
As was mentioned, we assume you've set up your SRT streaming scenario. Let's modify it to set up sender part.
Go to "UDP streaming" tab on "Live streams setting" page and open your SRT setting. Scroll down to parameters list and add new parameter with "filter" name with a value which you fin appropriate, as shown on a screenshot below.
We use "fec,cols:10,rows:5" there but you can use any other value which you find appropriate for your case, please refer to FEC documentation to learn more.
Now on a receiver side, you need to also define "filter" parameter with "fec" value.
In case of Nimble Streamer setup, go to "Live streams settings" page, "MPEG_TS In" tab and open existing incoming stream dialog. Then enter this "filter" parameter as shown below. Notice that you don't need to set more details because you've defined them earlier on sender side.
This was an example of FEC usage in Nimble Streamer.
As we've mentioned earlier, in case of any issues please analyse Nimble Streamer logs to get more details for further analysis. Look for existing issues and solutions in SRT issues on github and post your questions there in case of concerns with FEC filter.
SRT support in Softvelum products, SRT in Nimble Streamer,
FEC filter is still under development so, here is what you need to consider first:
- Use FEC filter feature on your own risk.
- It may crash the server, so if you face any issues, check Nimble Streamer logs to analyse the problem.
- Try using it with test streams first, and then move to production only when you make sure it works as expected.
Upgrade
In order to use this filter, you must upgrade Nimble Streamer and make sure you have the latest SRT library package.
- Nimble Streamer version must be at least 3.6.5-6, use this procedure to upgrade.
- SRT library package must be at least 1.4.1, use this page to get upgrade instruction.
Once you upgrade and re-start Nimble Streamer instance, you may proceed to further setup.
Setup details
According to information from SRT developers team, the FEC filter must be set on both sender and receiver sides and at least one side should define a configuration for it. IN our example we'll define configuration parameter on sender
As was mentioned, we assume you've set up your SRT streaming scenario. Let's modify it to set up sender part.
Sender
Go to "UDP streaming" tab on "Live streams setting" page and open your SRT setting. Scroll down to parameters list and add new parameter with "filter" name with a value which you fin appropriate, as shown on a screenshot below.
We use "fec,cols:10,rows:5" there but you can use any other value which you find appropriate for your case, please refer to FEC documentation to learn more.
Receiver
Now on a receiver side, you need to also define "filter" parameter with "fec" value.
In case of Nimble Streamer setup, go to "Live streams settings" page, "MPEG_TS In" tab and open existing incoming stream dialog. Then enter this "filter" parameter as shown below. Notice that you don't need to set more details because you've defined them earlier on sender side.
This was an example of FEC usage in Nimble Streamer.
As we've mentioned earlier, in case of any issues please analyse Nimble Streamer logs to get more details for further analysis. Look for existing issues and solutions in SRT issues on github and post your questions there in case of concerns with FEC filter.
Related documentation
SRT support in Softvelum products, SRT in Nimble Streamer,