Skip to main content

Setting up Netint T408/T432 FFmpeg with SDI SCTE-104 support

Requirements

  1. NETINT Logan (T408/T432) Release V3.5.3
  2. Blackmagic Desktop Video Tool
  3. Blackmagic Desktop SDK 12.6

Setting Up NETINT Release

To setup the NETINT release V3.5.3, please follow the following steps:

  1. You can get the Logan (T408/T432) release V3.5.3 package from NETINT support.

  2. Copy it over to your server and Unzip the release package.

    info

    Example release package name: T4xx-Release-v3.5.3.tar.gz

    unzip T4xx-Release-v3.5.3.tar.gz

Logan Scripted Installation

  1. Run the t4xx_quick_installer.sh script.

    bash ./t4xx_quick_installer.sh
  2. Make sure that the FW and SW releases match what you're trying to install then type y to confirm.

    Welcome to the NETINT t4xx_quick_installer utility
    Please put the FW and FFmpeg release package you wish to install in the same directory as this script
    The latest FW release package found here is: T4XX_VX.X.X.tar.gz
    The latest FFmpeg release package found here is: Codensity_T4XX_Software_Release_VX.X.X.tar.gz
    Press [Y/y] to confirm the use of these two release packages.
  3. Installation options will be shown, here is an example:

    Extracting new FW & SW release folders
    Choose an option:
    1) Setup Environment variables
    2) Unlock CPU governor
    3) Install OS prerequisite packages
    4) Install NVMe CLI
    5) Install Libxcoder
    6) Install FFmpeg-n3.1.1
    7) Install FFmpeg-n3.4.2
    8) Install FFmpeg-n4.1.3
    9) Install FFmpeg-n4.2.1
    10) Install FFmpeg-n4.3.1
    11) Install FFmpeg-n4.3.2
    12) Install FFmpeg-n4.3
    13) Install FFmpeg-n4.4
    14) Install FFmpeg-n5.0
    15) Install FFmpeg-n5.1.2
    16) Firmware Update
    17) Quit
    #?
  4. Install the following items by pressing the corresponding number shown in the option menu:

    • Setup Environment variables
    • Install OS prerequisite packages
    • Install NVMe CLI
    • Install Libxcoder
    • Install FFmpeg-n4.3.1
    note

    Please make sure to Install FFmpeg-n4.3.1 as the other versions do not support the SCTE-104/SCTE-35 features. The FFmpeg installation from the script will only install base NETINT FFmpeg. FFmpeg will be re-configured in the later section to include the SDI and SCTE features. You can use the installation here to verify the Logan card is working correctly.

  5. The NETINT VPU software is now complete! You can exit the script by selecting the number for the Quit option.

    info

    If any individual step fails during the execution of quadra_quick_installer.sh please

    1. Check any printed errors, then take the necessary actions to resolve it and try again.
    2. If any error persists, please contact NETINT support.
  6. Test the installation using run_ffmpeg.sh.

Firmware Upgrade

warning
  • Do NOT interrupt the firmware update process once it has started. Any interruption may cause the device to malfunction.
  1. Navigate to the Firmware Directory

     cd T4XX_VX.X.X/
  2. Run the script to upgrade the Firmware on Cards

    bash ./t4xx_auto_upgrade.sh
  3. The script will display all the cards detected and the current firmware along with the new firmware.

    Press 'Y' to confirm the installation

    Copyright (C) 2020 NETINT Technologies. All rights reserved.

    Welcome to the Codensity Transcoder Firmware Upgrade Utility!

    Number of Codensity Transcoders found on demo7: 2
    Index Device SN Binary File Card FW Rev File FW Rev
    ----- ---------------- -------------------- -------------------------------- ----------- -----------
    0 /dev/nvme0n1 TU03-06-02-B02-132 FL_BIN/nor_flash_v3.3.7-T408.bin 330X2014 337X2018
    1 /dev/nvme1n1 TU03-06-02-B02-021 FL_BIN/nor_flash_v3.3.7-T408.bin 330X2014 337X2018
    Press [Y/y] to begin.
  4. Verify the Firmware upgrade has completed successfully.

    Firmware upgrade complete!
    # Device Block Serial Number Card FW Rev Result
    --- -------------- ------------------ -------------------- ----------- ------------------------
    0 /dev/nvme0 /dev/nvme0n1 TU03-06-02-B02-132 337X2018 Successful upgrade
    1 /dev/nvme1 /dev/nvme1n1 TU03-06-02-B02-021 337X2018 Successful upgrade
    Cards that underwent upgrade have new FW activated but still require ni_rsrc initialization (init_rsrc_logan).
    t4xx_auto_upgrade.sh finished
  5. After the upgrade the server may need to be rebooted. If not, then re-initialize the cards

    warning
    • If a cold upgrade fails then a system reboot may resolve the issue. The firmware update process should then be repeated.
    info
    • Additional information captured during the update process can be found in the ./upgrade_log.txt file generated by the update script.

Verify Installation

  1. Run init_rsrc_logan to make sure that your VPU(s) are initialized.

    tip

    The cards MUST be initialized after every reboot. A custom start-up script or a systemd process are examples of what can be used to ensure the cards are initialized after a reboot.

  2. Running sudo nvme list should show all the detected cards on your system and their firmware version.

    Node                  SN                   Model                                    Namespace Usage                      Format           FW Rev
    --------------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
    /dev/nvme0n1 TU03-06-02-B02-132 T408-U2 1 536.87 GB / 536.87 GB 512 B + 0 B 330X2014
    /dev/nvme1n1 TU03-06-02-B02-021 T408-U2 1 536.87 GB / 536.87 GB 512 B + 0 B 330X2014
  3. Running ni_rsrc_mon_logan should show the VPU(s) and their current utilization.

    NI resource init'd already ..
    **************************************************
    2 devices retrieved from current pool at start up
    Tue Jan 30 23:19:42 2024 up 00:00:00 v330R2014
    Num decoders: 2
    BEST INDEX LOAD MODEL_LOAD MEM INST DEVICE NAMESPACE
    L 0 0 0 0 0 /dev/nvme0 /dev/nvme0n1
    1 0 0 0 0 /dev/nvme1 /dev/nvme1n1
    Num encoders: 2
    BEST INDEX LOAD MODEL_LOAD MEM INST DEVICE NAMESPACE
    L 0 0 0 0 0 /dev/nvme0 /dev/nvme0n1
    1 0 0 0 0 /dev/nvme1 /dev/nvme1n1
    **************************************************

You can download the Blackmagic Decklink SDK and tools from the Blackmagic Support Page

To setup the Blackmagic card on your system, you can follow steps from Section 3 from the Decklink Internetworking Application Note

Once the Decklink card is setup you can move on to the next section.

To setup FFmpeg with all the features you will need to manually configure FFmpeg and the libraries required. The following libraries are required for FFmpeg to be configured correctly:

  1. FFmpeg-n4.3.1
  2. Blackmagic Desktop SDK 12.6
  3. libklvanc
  4. libklscte35

Blackmagic FFmpeg Configuration

Download the Desktop Video 12.6 SDK from the Blackmagic Support Site and unzip the package:

unzip Blackmagic_DeckLink_SDK_12.6.zip

Once unzipped move the SDK folder into the NETINT FFmpeg directory

mv 'Blackmagic DeckLink SDK 12.6'/ ~/FFmpeg/blackmagic_sdk

SCTE libraries Setup

For SCTE-104 to SCTE-35 conversion you will need to setup the following libraries:

  1. libklvanc
  2. libklscte35

libklvanc setup

git clone https://github.com/stoth68000/libklvanc.git
cd libklvanc/
./autogen.sh --build
./configure
make
sudo make install

libklscte35 Setup

git clone https://github.com/stoth68000/libklscte35.git
cd libklscte35/
./autogen.sh --build
./configure --enable-shared=no
make
sudo make install

FFmpeg-n4.3.1 Setup

Once the SCTE libraries and Blackmagic SDK is setup and configured, you need to configure and build FFmpeg with them. To setup FFmpeg, use the following commands:

  1. Go into the NETINT FFmpeg directory
    cd ~/FFmpeg
  2. Run the build_ffmpeg.sh script with custom flags to include the SCTE libraries and Decklink SDK
    bash build_ffmpeg.sh --custom_flags "--enable-libklvanc --enable-libklscte35 --extra-cflags=-Iblackmagic_sdk/Linux/include --extra-ldflags=-Lblackmagic_sdk/Linux/include --enable-decklink"
  3. Once the script has finished running, install FFmpeg:
    sudo make install

After the install, you are done. You now have FFmpeg with SCTE-104/SCTE-35 and SDI features enabled.