Setting up Netint T408/T432 FFmpeg with SDI SCTE-104 support
Requirements
- NETINT Logan (T408/T432) Release V3.5.3
- Blackmagic Desktop Video Tool
- Blackmagic Desktop SDK 12.6
Setting Up NETINT Release
To setup the NETINT release V3.5.3, please follow the following steps:
-
You can get the Logan (T408/T432) release V3.5.3 package from NETINT support.
-
Copy it over to your server and Unzip the release package.
infoExample release package name: T4xx-Release-v3.5.3.tar.gz
unzip T4xx-Release-v3.5.3.tar.gz
Logan Scripted Installation
-
Run the
t4xx_quick_installer.shscript.bash ./t4xx_quick_installer.sh -
Make sure that the FW and SW releases match what you're trying to install then type
yto 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. -
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
#? -
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
notePlease 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.
-
The NETINT VPU software is now complete! You can exit the script by selecting the number for the
Quitoption.infoIf any individual step fails during the execution of quadra_quick_installer.sh please
- Check any printed errors, then take the necessary actions to resolve it and try again.
- If any error persists, please contact NETINT support.
-
Test the installation using
run_ffmpeg.sh.
Firmware Upgrade
- Do NOT interrupt the firmware update process once it has started. Any interruption may cause the device to malfunction.
-
Navigate to the Firmware Directory
cd T4XX_VX.X.X/ -
Run the script to upgrade the Firmware on Cards
bash ./t4xx_auto_upgrade.sh -
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. -
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 -
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.txtfile generated by the update script.
Verify Installation
-
Run
init_rsrc_loganto make sure that your VPU(s) are initialized.tipThe 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.
-
Running
sudo nvme listshould 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 -
Running
ni_rsrc_mon_loganshould 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
**************************************************
Blackmagic Decklink Card Setup
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.
Setting Up NETINT FFmpeg with Decklink SDI and SCTE-104/SCTE35 Features
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:
- FFmpeg-n4.3.1
- Blackmagic Desktop SDK 12.6
- libklvanc
- 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:
- libklvanc
- 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:
- Go into the NETINT FFmpeg directory
cd ~/FFmpeg - Run the
build_ffmpeg.shscript with custom flags to include the SCTE libraries and Decklink SDKbash build_ffmpeg.sh --custom_flags "--enable-libklvanc --enable-libklscte35 --extra-cflags=-Iblackmagic_sdk/Linux/include --extra-ldflags=-Lblackmagic_sdk/Linux/include --enable-decklink" - 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.