November 28, 2021

NETINT encoder support in Nimble Streamer Transcoder via custom FFmpeg build

Live Transcoder for Nimble Streamer supports a number of encoding libraries off-the-shelf which cover most used technologies. Besides native integration with SDK and specific libraries, Live Transcoder uses some FFmpeg libraries for certain tasks. This way, Nimble allows using external libraries to extend its capabilities by re-building them with FFmpeg as necessary.

NETINT provides its hardware encoders API via FFmpeg-based libraries. This means you can make a custom FFmpeg build for Nimble Streamer and thus give it the access to NETINT encoding. Once you do that you'll be able to add it into your transcoder scenarios.

Let's see how you can accomplish that.

We assume you already have Live Transcoder installed and registered. In not, please check Transcoder installation instruction and watch introductory video tutorial from our playlist.
Before proceeding further, make sure you've upgraded your Nimble Streamer instance to the latest version.

First, you need to follow QuickStartGuideT408_T432_FW2_5.pdf documentation file:
  1. install necessary tools
  2. build libxcoder library
  3. check out FFmpeg 4.3.1
  4. apply Netint patch FFmpeg-n4.3.1_t4xx_patch
Second, the instruction says you need to run "bash build_ffmpeg.sh", but instead of that you need to run this command:
bash build_ffmpeg.sh --shared --custom_flags "--build-suffix=-nimble --disable-ffmpeg"
This will build shared libraries with Nimble suffix.

Third step is to run these commands from a regular instruction:
make install
sudo ldconfig
Finally, restart Nimble Streamer using a command for your OS as described here.

After that Nimble will be able to use the new libraries.

The encoder settings in transcoder scenario will need to use the following parameters:
  • Encoder must be set to FFmpeg
  • Codec must be set to "h264_ni_enc". Notice that recent hardware version uses "h264_ni_logan_enc" codec.
  • Custom parameter xcoder-params will allow to control the encoder behavior
An example is shown here:

Once you save settings in your scenario, your Nimble Streamer instance will use NETINT encoder.

If you have any questions about custom FFmpeg builds and their integration with NETINT please contact our helpdesk.

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

Related documentation


November 23, 2021

Recording NDI as HLS DVR

We've released a short video tutorial showing a combined NDI and DVR use case.

  1. Nimble Streamer takes NDI input
  2. NDI is transcoded into HLS output
  3. HLS stream is recorded and played with Nimble DVR

Check the video below and feel free to visit NDI and DVR digest pages of Nimble Streamer.



November 22, 2021

Converting NDI into DRM-protected MPEG-DASH

We've released a new video tutorial showing a combined NDI+DRM use case.

  1. Nimble Streamer takes NDI input
  2. NDI is transcoded into MPEG-DASH output
  3. DASH stream is encoded with Widevine using EZDRM
  4. The playback is checked with THEOPlayer

Check the video below and feel free to visit NDI and DRM digest pages of Nimble Streamer.