Configure the Live Slicer
SCTE 35/104 signal processing, metadata, color space, log verbosity, and failover administration.
Configure the Live Slicer
Upon installation, the following configuration file is created: /etc/uplynk.conf
Use this file to configure the Live Slicer. View a sample configuration file.
Update the following settings in your Live Slicer configuration file:
| Setting | Description |
|---|---|
| description | Set this to a description that will be assigned to new assets. |
| username | Identifier used for authentication. You may specify either: A workspace ID (formerly known as owner ID) - preferred, or A user name (typically the email address associated with your account) Using a workspace ID is recommended because it is immutable, whereas user names and email addresses may change over time. Example (workspace ID - preferred) username: a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6Example (email) username: [email protected] |
| apikey | If missing, add a line for the apikey setting. Set it to your secret API key. Leverage our API to generate an API key that only authorizes slicer-related actions by creating a sub-owner that has only been granted the slice permission. Find your API key via the Integration Keys page > Settings tab > Integration Keys from the side navigation. Your API key(s) are listed under the API Keys section.Example: apikey: bcDEFghiJKLmnoPQRtuvWXYz123ABCdefGHIJKL |
| slicerID | Set this to a case-sensitive alphanumeric value by which this Live Slicer will be identified. A Live Slicer may broadcast content via one or more live channels or live events. Assign a Live Slicer to a live channel and/or a live event via the Slicer ID option. Information on how to find this option is provided below. Live Channel: Select the live channel and then verify that the Details tab is active. Live Event: Open the desired live event configuration and then select the Slicers tab. Verify the case of the Live Slicer's ID when setting up your live channel or live event. |
Once you have defined the above settings, update the configuration file to reflect your signal source (e.g., SDI, UDP, or RTMP).
If you plan on streaming over RTP, then you must process your audio/video feed using
and serve it over UDP.
Instructions per your signal source:
-
SDI (Blackmagic DeckLink SDI card): Review and/or update these Live Slicer configuration settings to reflect your installation. See Live Slicer Configuration File Settings for setting details.
Setting Description input Verify that this setting is set to blackmagic.card Verify that this setting is set to the card number corresponding to your Blackmagic DeckLink SDI card. SCTE104_DID Verify that this setting correctly identifies the DID for SCTE104 triggers. SCTE104_SDID Verify that this setting correctly identifies the SDID for SCTE104 triggers. captions_DID Verify that this setting correctly identifies the DID for closed captioning. captions_SDID Verify that this setting correctly identifies the SDID for closed captioning. ancillary_lines Verify that this setting accurately reflects the ancillary lines to be scanned. -
UDP: Update these Live Slicer configuration settings to reflect your installation. See Live Slicer Configuration File Settings for setting details.
Setting Action Description card Remove/Ignore This setting does not apply to UDP streaming and will be ignored. SCTE104_DID Remove/Ignore This setting does not apply to UDP streaming and will be ignored. SCTE104_SDID Remove/Ignore This setting does not apply to UDP streaming and will be ignored. captions_DID Remove/Ignore This setting does not apply to UDP streaming and will be ignored. captions_SDID Remove/Ignore This setting does not apply to UDP streaming and will be ignored. ancillary_lines Remove/Ignore This setting does not apply to UDP streaming and will be ignored. input Modify Set it to udp.unicast or multicast Add Add either a unicast or multicast setting to the configuration file. Set it to the IP address of the computer generating the UDP stream. port Add Add this setting and set it to the port on which the Live Slicer will listen for the UDP stream. rtp_headers Add RTP Only: Add this setting and set it to 1.
If you do not plan on using RTP and this setting is present in your configuration file, then either remove this setting or set it to0.rtp_readahead_dur Add RTP Only: Add this setting and set it to the number of seconds (e.g., 2.0) that the Live Slicer will wait before uploading the stream to the cloud.rtp_backlog_dur Add RTP Only: Add this setting and set it to the number of seconds (e.g., 1.4) for which packet history will be preserved to reduce dropped packets.rtp_redundant_feed Add RTP Only: Add this setting and set it to a URL that points to a redundant RTP feed through which the original stream will be reconstructed.
A redundant RTP feed requires the source computer to have two network routes (e.g., 2-port network card).
Sample configuration:rtp_redundant_feed: rtp://stream.example.com:1234
If you plan on streaming RTP over UDP, then use the Status endpoint of the Live Slicer API to monitor your RTP feeds and FEC status.
Multiple Ethernet Adapters
The Live Slicer listens for data on all interfaces. If multiple interfaces are available, then a packet may be received on one interface and then routed to a different one. This may cause the Linux kernel to apply reverse path filtering and therefore drop inbound packets that would have been routed to a different interface.
Example:
A packet is received from 239.0.0.0 on eth1. Sending a packet back to 239.0.0.0 would result in the packet being routed to eth0. This would trigger reverse path filtering and the inbound packet from eth1 would be dropped.
Solution:
Ensure that the desired multicast IP address is routable to the interface on which the Live Slicer will be listening.
An alternative solution is to disable reverse path filtering. However, it is important to become acquainted with the security implications of this solution prior to its implementation.
-
RTMP
Please do not publish your stream until after you have configured the Live Slicer to ingest RTMP, restarted it, and it is in the waiting for data state. Please restart stream encoding when your encoder cannot connect to the Live Slicer.
The RTMP source is incompatible with SCTE, ad breaks, or Action Message Format (AMF).
Update these Live Slicer configuration settings to reflect your installation.
Setting Action Description card Remove/Ignore This setting does not apply to the RTMP source and will be ignored. SCTE104_DID Remove/Ignore This setting does not apply to the RTMP source and will be ignored. SCTE104_SDID Remove/Ignore This setting does not apply to the RTMP source and will be ignored. captions_DID Remove/Ignore This setting does not apply to the RTMP source and will be ignored. captions_SDID Remove/Ignore This setting does not apply to the RTMP source and will be ignored. ancillary_lines Remove/Ignore This setting does not apply to the RTMP source and will be ignored. input Modify Set it to rtmp.
See Live Slicer Configuration File Settings for setting details.rtmp_url Add Add this setting and set it to the URL for the RTMP stream that your encoder will push to the Live Slicer.
You may configure the Live Slicer to pull the RTMP stream from your encoder through the enable_rtmp_pull setting.
See Live Slicer Configuration File Settings for setting details. -
SRT: Update these Live Slicer configuration settings to reflect your installation.
Setting Action Description card Remove/Ignore This setting does not apply to SRT streaming and will be ignored. SCTE104_DID Remove/Ignore This setting does not apply to SRT streaming and will be ignored. SCTE104_SDID Remove/Ignore This setting does not apply to SRT streaming and will be ignored. captions_DID Remove/Ignore This setting does not apply to SRT streaming and will be ignored. captions_SDID Remove/Ignore This setting does not apply to SRT streaming and will be ignored. ancillary_lines Remove/Ignore This setting does not apply to SRT streaming and will be ignored. input Modify Set it to srt.
See Live Slicer Configuration File Settings for setting details.input_addr Add Set it to the IP address of the computer generating the SRT stream.
See Live Slicer Configuration File Settings for setting details.port Add Add this setting and set it to the port on which the Live Slicer will listen for the SRT stream.
See Live Slicer Configuration File Settings for setting details. -
TCP: Update these Live Slicer configuration settings to reflect your installation.
Setting Action Description card Remove/Ignore This setting does not apply to TCP streaming and will be ignored. SCTE104_DID Remove/Ignore This setting does not apply to TCP streaming and will be ignored. SCTE104_SDID Remove/Ignore This setting does not apply to TCP streaming and will be ignored. captions_DID Remove/Ignore This setting does not apply to TCP streaming and will be ignored. captions_SDID Remove/Ignore This setting does not apply to TCP streaming and will be ignored. ancillary_lines Remove/Ignore This setting does not apply to TCP streaming and will be ignored. input Modify Set it to tcp. See Live Slicer Configuration File Settings for setting details.input_addr Add Set it to the IP address of the computer generating the TCP stream. See Live Slicer Configuration File Settings for setting details. port Add Add this setting and set it to the port on which the Live Slicer will listen for the TCP stream. See Live Slicer Configuration File Settings for setting details. The Live Slicer must be
for configuration changes to take effect.
Additional settings may be added to define the audio/video tracks to be processed, define the language for audio tracks, and to specify a description for audio tracks.
SCTE 35/104 Signal Processing
By default, the Live Slicer performs basic SCTE 35/104 signal processing. It converts SCTE 104 to SCTE 35 and then applies SCTE 35 signal processing. This allows a single plugin to support SDI, UDP, and RTMP. If the baseline plugin is insufficient, use the Python plugin to add custom Python functions.
Disable SCTE processing
Define the following setting in your Live Slicer configuration file:scte_type: none
Metadata
By default, metadata is not defined for assets generated by the Live Slicer. However, you can define an asset's metadata through either of the following methods:
-
Live Slicer Configuration File: Use the meta configuration parameter to define a key/value pair for the desired metadata field. By default, the metadata defined by this parameter will be assigned to assets generated by the Live Slicer.
Define additional metadata fields by specifying this configuration parameter on a separate line for each desired field.
Example:
meta MyField1=ValueA meta MyField2=ValueB -
Live Slicer API: Assign metadata to a particular asset through the
add_metamethod.The add_meta method takes precedence when the same metadata field is defined by both methods.
Metadata may be defined when setting up a live channel. However, this metadata only applies to the live channel object. Assets generated from a live channel will not inherit metadata from that live channel.
Color Space
By default, the Live Slicer automatically converts the input signal's color standard to either HDR10 or SDR according to whether your encoding profile supports HDR.
| Encoding Profile | Color Standard (Source) | Color Standard (Output) |
|---|---|---|
| HDR | HDR (including HLG) or SDR All SDR source content, including ads, will be converted to HDR10. | HDR10 |
| SDR | HDR (including HLG) or SDR | SDR |
Custom Color Representation
You can customize color representation conversion by assigning a lookup table (LUT) to the desired color space conversion. Define this mapping through the rgb_lut setting.
Key information
-
Verify that your LUT adheres to Adobe's Cube LUT Specification 1.0.
You may define multiple RGB LUTs to adjust for different input signals. The Live Slicer determines which configuration to use based on the output signal's color standard (i.e., HDR10 or SDR). If multiple LUTs have been defined for that color standard, then it will use the configuration that best matches the input signal's color space and range. -
By default, the output signal's color space uses a narrow (i.e., limited) range (16 - 235). You may define the desired range when configuring the rgb_lut setting.
Example:
The following configuration uses a custom LUT to generate an HDR 10 output signal with a full range when the input signal is HLG:rgb_lut from hlg to hdr10,full /path/mylut.cube -
Alternatively, you may explicitly define a color space, a color primary, the transformation characteristics, and the range.
Example:
The following configuration is equivalent to the above sample configuration:rgb_lut from colorspace:bt2020nc,primaries:bt2020,trc:arib-std-b67,range:tv to colorspace:bt2020nc,primaries:bt2020,trc:smpte2084,range:pc /path/mylut.cube
See Live Slicer Configuration File Settings.
Log Data
The Live Slicer outputs verbose logging information to syslog. A default syslog configuration sends these messages to: /var/log/syslog
The syslog contains valuable information that will help us troubleshoot Live Slicer-related issues. Please send us a compressed version of the syslog when experiencing issues with the Live Slicer.
Verbosity
By default, the Live Slicer logs error conditions and informational messages. Configure the Live Slicer to also log debug messages by adding the following configuration to your Live Slicer configuration file: verbosity: 3
Alternatively, use the following syntax if you plan on starting the Live Slicer via the command line: sudo systemctl start uplynk_liveslicer.service -v 3
Live Slicer Failover
Live Slicer failover minimizes the impact to your viewer's playback experience when a Live Slicer's performance is sub-optimal by automatically switching the live stream's source to a different Live Slicer.
Set up Live Slicer failover through the following steps:
- Create a failover group and assign it Live Slicers and live channel(s).
- Instruct each desired Live Slicer to join this failover group by updating its configuration file.
Administration
Use the following initctl commands to start, stop, and restart the Live Slicer.
| Action | Command |
|---|---|
| Start | upstart:sudo start uplynk_liveslicersystemd: sudo systemctl start uplynk_liveslicer.service |
| Stop | upstart:sudo stop uplynk_liveslicersystemd: sudo systemctl stop uplynk_liveslicer.service |
| Restart | upstart:sudo restart uplynk_liveslicersystemd: sudo systemctl restart uplynk_liveslicer.service |
An invalid Live Slicer configuration may prevent the Live Slicer from starting up.
Review the syslog file to check whether the Live Slicer is running.
The Live Slicer will automatically start whenever the server is restarted.
Updated about 1 hour ago