The On Prem Slicer (aka Live Slicer) captures content from a live signal and sends it to the cloud for encoding. This tool runs as a daemon process on a Linux system. It is controlled using standard
initctls
Command.Install the Live Slicer
Pre-requisites
Perform the following steps before installing the Live Slicer:
-
Verify System Requirements: Ensure that the desired computer meets or exceeds the minimum system requirements:
Component Description CPU Quad-core x86-64 (2GHz) Memory 6 GB Storage 80 GB Upload Bandwidth Your upload bandwidth should exceed the bandwidth generated by the encoder for the top ray by 25%. The amount of bandwidth generated by your encoder varies by encoding profile. For example, the default encoding profile (i.e., HD 720p25/30) requires 5 Megabits per second (Mbps). Insufficient bandwidth may affect performance and result in slate.OS Optimized for:
- Ubuntu Linux 14.04 LTS 64-bit or higher (tested on 14.04 LTS and 16.04 LTS)
- CentOS 7 64-bit or higherLive Feed The broadcasting infrastructure must transmit data to the Live Slicer using one of the following technologies:
- UDP: Use either a UDP unicast or multicast MPEG2 transport stream.
- SDI: Requires installation of one of the following Blackmagic DeckLink SDI cards: Decklink Duo 2 or Decklink Quad 2. Install Blackmagic DeckLink drivers from Blackmagic’s site.
- RTMP: By default, the service expects your encoder to push the RTMP stream to a Live Slicer. You may configure a Live Slicer to pull the RTMP stream from your encoder through theenable_rtmp_pull
setting.
- SRT: Use a SRT MPEG2 transport stream.
- TCP: Use a TCP MPEG2 transport stream. Ensure optimal data transmission rates by placing the source of the live feed in close proximity to the Live Slicer.Ports Outbound connections on ports 80 and 443 -
Configure Firewall
- Allow outbound connections on ports 80 and 443.
- The Live Slicer relies on these ports to communicate with our services and to upload encrypted slices for encoding.
-
Verify System Time
- Ensure that the system time on the computer hosting the Live Slicer is accurate.
- Use Network Time Protocol (NTP) to sync your Linux server’s time with a public time server.
Install or Upgrade a Live Slicer
Perform these steps when installing or upgrading the Live Slicer to the latest version.
If you plan on using a Blackmagic DeckLink SDI capture card, then the Live Slicer must be installed on the computer where that card is housed.
-
Live Slicer version 21092100 or higher: Install the
libnl-3.200
library.Command:sudo apt install libnl-3-200
-
Python and bzip2: Install the
python bzip2
applications.Command:sudo apt install python bzip2
-
Download the Live Slicer by clicking Downloads from the bottom right-hand corner of the CMS and then clicking on the desired OS.
-
Extract the zip file to the desired directory.Command:
$ tar -xvf uplynk_slicer_linux_64-231114.04.01.tbz2
1uplynk_slicer_linux_64-231114.04.01-master/23uplynk_slicer_linux_64-231114.04.01-master/slicebot.cfg.example45uplynk_slicer_linux_64-231114.04.01-master/libfreetype.so.667uplynk_slicer_linux_64-231114.04.01-master/libavcodec.so.5789uplynk_slicer_linux_64-231114.04.01-master/libcares.so.21011uplynk_slicer_linux_64-231114.04.01-master/slicer1213uplynk_slicer_linux_64-231114.04.01-master/example.conf1415uplynk_slicer_linux_64-231114.04.01-master/libcrypto.so.1.0.01617uplynk_slicer_linux_64-231114.04.01-master/libssl.so.1.0.01819uplynk_slicer_linux_64-231114.04.01-master/liveslicer2021uplynk_slicer_linux_64-231114.04.01-master/font_i420.dat2223uplynk_slicer_linux_64-231114.04.01-master/libavfilter.so.62425uplynk_slicer_linux_64-231114.04.01-master/ca-bundle.crt2627uplynk_slicer_linux_64-231114.04.01-master/install_live2829uplynk_slicer_linux_64-231114.04.01-master/libswscale.so.43031uplynk_slicer_linux_64-231114.04.01-master/libswresample.so.2.4.1003233uplynk_slicer_linux_64-231114.04.01-master/libbeam-slicer.so3435uplynk_slicer_linux_64-231114.04.01-master/libopus.so.03637uplynk_slicer_linux_64-231114.04.01-master/libopus.so.0.5.03839uplynk_slicer_linux_64-231114.04.01-master/LICENSE.txt4041uplynk_slicer_linux_64-231114.04.01-master/slicebot4243uplynk_slicer_linux_64-231114.04.01-master/README.html4445uplynk_slicer_linux_64-231114.04.01-master/libavformat.so.574647uplynk_slicer_linux_64-231114.04.01-master/libavformat.so.57.58.1014849uplynk_slicer_linux_64-231114.04.01-master/libavutil.so.55 -
Navigate to the newly created directory.Command:
$ cd uplynk_slicer_linux_64-231114.04.01-master/
-
Run
install_live
.Command:$ sudo ./install_live
Configure the Live Slicer
Upon installing the Live Slicer, the following configuration file will be 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 | Set this to the email address associated with your account. |
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. Learn more. 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 click on 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, the configuration file will need to updated 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 ffmpeg and serve it over UDP.
Instructions per your signal source:
-
SDI (Blackmagic DeckLink SDI card): Please 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: Please 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:
The solution for this issue is to 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. -
RTMPPlease 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).Please 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: Please 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: Please 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 restarted 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. View a comprehensive listing of settings.
SCTE 35/104 Signal Processing
By default, the Live Slicer performs basic SCTE 35/104 signal processing. Specifically, it converts SCTE 104 to SCTE 35 and then applies SCTE 35 signal processing to it. This allows a single plugin to support SDI, UDP, and RTMP. If the SCTE processing provided by 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:
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, an asset’s metadata may be defined through any 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:1meta MyField1=ValueA23meta MyField2=ValueB
-
Live Slicer API: Assign metadata to a particular asset through the
add_meta
method.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 will automatically convert 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
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
Audio
Audio Ingest
The Live Slicer’s behavior with regards to audio ingest varies depending on whether you are streaming over UDP, RTMP, or SDI.
-
UDP / RTMP / SRT / TCP
You must specify each audio track that will be ingested via thepids
parameter.
Example
The following configuration initializes the audio tracks that correspond to the packets with identifiers 308, 256, 257, and 258:pids: 308,256,257,258
-
SDI: The Live Slicer automatically ingests the audio tracks that correspond to SDI channels 0 - 15.
Audio Codec
By default, the Live Slicer encodes audio using the Advanced Audio Coding (AAC) audio codec. However, you may configure it to encode an audio track into Dolby Digital Plus (DD+) and AAC subtracks by passing the
audio_dolby_#
parameter.Playback of DD+ audio subtracks requires the ddp playback URL parameter.
Sample Configurations
-
UDP: The following configuration will encode track 257 as DD+ and encode all of the other tracks (i.e., 257, 258, and 308) defined by the pids parameter as AAC:1pids: 308,256,257,2582audio_lang_256: eng3audio_desc_256: primary4audio_lang_257: eng5audio_desc_257: secondary6audio_dolby_257: 1
-
SDI: The following configuration will encode the audio track for SDI channel 7 as DD+ and encode all of the other tracks (i.e., SDI channels 0 - 6 and 8 - 15) as AAC:
audio_dolby_7: 1
Audio Normalization
By default, assets are encoded at approximately the same level of loudness. This level may be adjusted via the
gain
setting. Use this setting to determine the gain or attenuation, in decibels, that should be applied to the live signal as it is encoded.The Live Slicer logs the calculated gain value every ten seconds. Monitor
/var/log/syslog
to find the appropriate value for the gain
setting.Audio Channel Layout (SDI Signal)
The Live Slicer may be configured to use either Standard or Custom audio channel layouts.
Standard Layout (SDI Signal)
Configure a standard audio channel layout through the use of
the audio_layout
parameter.Audio Channel | Channel Layout |
---|---|
stereo 1 |
|
stereo 2 |
|
stereo 3 |
|
stereo 4 |
|
stereo 5 |
|
stereo 6 |
|
stereo 7 |
|
stereo 8 |
|
5.1 |
|
CEA |
|
7.1 |
|
Custom Audio Layout (SDI Signal)
A custom audio channel layout allows each audio track to be mapped to one or more channels. Additionally, a custom level may be assigned to each mapped channel.
Terminology
Before defining a custom audio layout, it is important to become acquainted with the following terminology:
- SDI Channel: Identifies a single unit within a representation of an audio stream. For example, the left portion of a stereo feed may consist of one or more SDI channels.
- Track: Identifies the set of channels required to produce a single representation of an audio stream. For example, an audio track for a stereo feed may consist of two or more SDI channels.
Setup
Setting up a custom audio channel layout requires replacing the
audio_layout
configuration setting with audio_custom_layout_{Track}
. The configuration for this setting varies according to how audio should be mapped.Use the following syntax to downmix audio to mono:
audio_custom_layout_{Track}: mono|X={SDI_Input_Channel}@{Level}
Use the following syntax to downmix audio to stereo:
audio_custom_layout_{Track}: stereo|L={SDI_Input_Channel}@{Level},R={SDI_Input_Channel}@{Level}
Use the following syntax to downmix audio to 5.1:
audio_custom_layout_{Track}: 5.1|C={SDI_Input_Channel}@{Level},L={SDI_Input_Channel}@{Level},R={SDI_Input_Channel}@{Level},RL={SDI_Input_Channel}@{Level},RR={SDI_Input_Channel}@{Level},LFE={SDI_Input_Channel}@{Level}
Set up a custom audio channel layout
- Replace {Track} with the ID of the audio track that will be assigned a custom audio layout.
- Set X or L and R (Left and Right) to an ampersand delimited list of SDI channels that will serve as the source for the specified audio track. The valid range for each channel is 0 - 15.
The following sample mono configuration sets the source for audio track 0 to SDI channels 0, 1, and 3.audio_custom_layout_0: mono|X=0&1&3
The level for each assigned SDI channel may be defined by appending the @ symbol followed by the desired value. Use the following formula to calculate level:{Volume %} * 10
The following sample stereo configuration sets Left to SDI channel 0 at 70.7% and SDI channel 2 at 80%, while Right is set to SDI channel 4 at 20.2%.audio_custom_layout_0: stereo|L=0@707&2@800,R=4@202
If the audio level is missing, then it will be set to 100%. The following sample stereo configuration sets Left to SDI channel 0 at 100% and Right is set to SDI channels 3 and 4 at 100%.audio_custom_layout_0: stereo|L=0,R=3&4
Multiple Track Setup
A custom audio layout may be defined for multiple tracks (e.g., language-specific tracks). This type of setup requires informing the Live Slicer as to the number of tracks that will be mapped via the
audio_tracks
configuration setting.The Live Slicer will only generate audio for a single track when this configuration setting is omitted.
Although we support up to 31 audio tracks, your SDI capture card can only detect up to 16 audio tracks.
Use the following syntax to indicate the number of audio tracks that will be mapped:
audio_tracks: {Quantity}
For example, use the following configuration to indicate that a custom audio layout for three audio tracks (e.g., English, French, and Spanish) will be mapped:
audio_tracks: 3
Audio Channel Layout
For UDP / RTMP / SRT / TCP
By default, the Live Slicer uses the following channel layout for Dolby:
C L R RL RR LFE
Log Data
The Live Slicer outputs verbose logging information to syslog. A default syslog configuration will send 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:
Learn more.
verbosity: 3
Learn more.
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. Learn more.
Administration (initcl Commands)
Use the following commands to start, stop, and restart the Live Slicer.
Action | Command |
---|---|
Start | upstart:sudo start uplynk_liveslicer systemd: sudo systemctl start uplynk_liveslicer.service |
Stop | upstart:sudo stop uplynk_liveslicer systemd: sudo systemctl stop uplynk_liveslicer.service |
Restart | upstart:sudo restart uplynk_liveslicer systemd: 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.
Configuration File Settings
A brief description is provided below for each setting that may be defined in a Live Slicer’s configuration file (i.e.,
/etc/uplynk.conf
).By default, the value assigned to a setting cannot contain a hashtag.
Learn how to override this behavior.
Setting | Description |
---|---|
ancillary_lines | SDI (Blackmagic) Only. Defines the ancillary lines that will be scanned (0 to 31). Ignored with ancillary_scan set to on or input set to UDP/RTMP. Syntax ancillary_lines: #, #, ... Example ancillary_lines: 9, 13 |
ancillary_scan | SDI (Blackmagic) Only. Determines whether all ancillary lines will be scanned. Valid values
ancillary_scan: on|off Example ancillary_scan: off |
api_port | API Defines the port for API calls. Omit IP to bind to any adapter. Default 127.0.0.1:65009 Syntax IP Address:Port or Port . Example api_port: 127.0.0.1:65009 |
apikey | Required. Requires Live Slicer version 17111500 or higher Defines the secret API key for authentication. Syntax apikey: API Key Example apikey: abcDEFghiJKLmnoPQRtuvWXYz123ABCdefGHIJKL |
audio_custom_layout_Track | SDI (Blackmagic) Only. Defines a custom audio channel layout for the {Track} variable. This custom audio channel layout allows audio to be downmixed to mono or stereo. This configuration setting is incompatible with audio_layout. Please remove audio_layout from the Live Slicer configuration file prior to including this setting. This parameter does not apply to AC-3 audio or audio transmitted via UDP or RTMP. Although we support up to 31 audio tracks, your SDI capture card can only detect up to 16 audio tracks. Learn more. Syntax (downmix audio to mono) audio_custom_layout_{Track}: mono|X=SDI Input Channel@Level Syntax (downmix audio to stereo) audio_custom_layout_Track: stereo|L=SDI Input Channel@Level,R=SDI Input Channel@Level Syntax (downmix audio to 5.1) audio_custom_layout_{Track}: 5.1|C=SDI Input Channel@Level,L=SDI Input Channel@Level,R=SDI Input Channel@Level,LR=SDI Input Channel@Level,RR=SDI Input Channel@Level,LFE=SDI Input Channel@Level Example audio_custom_layout_0: stereo|L=0@707&2@800,R=4 |
audio_desc_# | Assigns a description to an audio track. Identify the source audio track by specifying its SDI channel or PID within this setting’s name. By default, audio tracks are assigned a description of unspecified .Syntax audio_desc_#: Audio Track Description Example audio_desc_12: My Track |
audio_dolby_# | Set to 1 to encode audio as Dolby Digital Plus (DD+). Identify the source audio track by specifying its SDI channel or PID within this setting’s name. Syntax audio_dolby_#: 1 Example audio_dolby_12: 1 |
audio_lang_PID | UDP and RTMP Only. Assigns a language to the audio track with the PID. Syntax audio_lang_PID: Language Example audio_lang_12: en |
audio_layout | SDI (Blackmagic) Only. Defines a standard audio channel layout. This parameter does not apply to AC-3 audio or audio transmitted via UDP. Alternatively, each audio track may be assigned a custom audio layout. Use a custom audio layout to downmix audio to mono or stereo. Valid values stereo #, 5.1, CEA, 7.1. Syntax audio_layout: Audio Channel Layout Example audio_layout: 5.1 |
authenticated_api_port | Advanced. Exposes the authenticated API on a specific port. Syntax (IP address and port) authenticated_api_port: IP Address:Port or Port Example authenticated_api_port: 88 |
autoexpire_age | Determines asset retention time. Valid values 0 (no deletion) or # hours (number of hours that assets will be retained before being deleted). Syntax autoexpire_age: 0|Hours Example autoexpire_age: 24 |
backup | Advanced. Determines whether to store content on alternate cloud storage. Valid values true (The Live Slicer will upload content to an alternate path on an alternate origin storage) or false (The Live Slicer will upload content to the default origin storage.). Syntax backup: true|false Example backup: false |
blankVideoSampleDelay | Advanced - UDP and RTMP Only. Defines the delay before blank video is inserted. This setting should be modified with care. Setting it too low will add unnecessary blank audio/video frames to your stream, while setting it too high will impact time-behind-live performance and slice creation. Default value 9600 Valid values 48000 (1 second) or 96000 (2 seconds, recommended). Syntax blankVideoSampleDelay: 48000|96000 Example blankVideoSampleDelay: 96000 |
captions_DID | SDI (Blackmagic) Only. Identifies the DID for closed captions. Syntax captions_DID: DID Example captions_DID: 0x61 |
captions_SDID | SDI (Blackmagic) Only. Identifies the SDID for closed captions. Syntax captions_SDID: SDID Example captions_SDID: 0x01 |
capture_delay | Determines the delay in seconds for timecode matching. Syntax capture_delay: Seconds Example capture_delay: 5 |
capture_mode | SDI (Blackmagic) Only. Determines the capture mode for Blackmagic DeckLink SDI card. Run the following command to view valid values for this setting: $ uplynk_liveslicer -card CardNumber -list The recommended value for this setting is auto. This configuration allows the Live Slicer to autodetect the video mode for BlackMagic cards that support signal detection. Syntax capture_mode: Mode Example capture_mode: auto |
card | SDI (Blackmagic) Only. Identifies the card number(s) for Blackmagic DeckLink SDI card(s). Syntax card: Card Number Example card: 1 |
cc#_desc | Advanced. Defines a description for the closed captioning channel. Syntax cc#_desc: CC Channel Description Example cc1_desc: English |
cc#_lang | Advanced. Identifies the language for the closed captioning channel. Specify a language by its code (e.g., en). Syntax cc#_lang: CC Channel Language Example cc1_lang: en |
cc_filter | Advanced. Determines whether closed captions will be filtered. Valid values on (Disables filtering CEA-608/708 captions on all channels with the exception of channel 1) or off (Filters CEA-608/708 captions on all channels) Syntax cc_filter: on|off Example cc_filter: on |
debugoverlay | Advanced. Set to 1 to overlay debug information on the video. This setting should not be used for production traffic. The type of debug information to be overlaid onto the video may vary by Live Slicer version. Example debugoverlay: 1 |
description | Required. Defines a description for new assets. Syntax description: Asset Description Example description: My Live Event |
disable_slicer_config_upload | Requires Slicer version 22083100 or higher. Determines whether to automatically upload configuration files. The Live Slicer excludes sensitive data when uploading your configuration file. Specifically, the uploaded configuration file will exclude the username and apikey settings. Valid values yes (The Live Slicer will not upload your configuration file) or no (Default. Allows the Live Slicer to automatically upload your configuration file to our service) Example disable_slicer_config_upload: yes |
drm_mode | Requires Slicer version 18052400 or higher. Determines the security level for CMS assets. Once Studio DRM is activated on your account, Studio DRM encryption is automatically applied to all new assets. This setting does not alter this behavior. It determines whether Studio DRM will be enforced and whether playback URLs must be signed. Syntax -drm_mode Mode Valid values none, regular (signed playback URL), studio (signed playback URL and Studio DRM) Example -drm_mode: studio |
drop_expired_breaks | Determines how expired API requests are handled. Valid values on (ignore) or off (perform action defined within an API request once it has been retained for the duration defined within the future_break_expiration_minutes setting. This occurs regardless of whether the specified timecode has elapsed.). Example drop_expired_breaks: on |
enable_remote_config | Requires Slicer version 21071400 or higher. Set to 1 to allow reporting health status according to the criteria defined within a failover group.This setting may override settings that precede it in the configuration file. It is strongly recommended to define this setting after the failover_id setting. Valid values 0 or 1 Example enable_remote_config: 1 |
enable_rtmp_pull | RTMP Only. Requires Slicer version 22083100 or higher. Determines if RTMP feed can be pulled. Valid values yes (Allows the Live Slicer to pull the RTMP feed) or no (Live Slicer will not pull RTMP feeds. Your encoder must push the RTMP feed to the Live Slicer) Example enable_rtmp_pull: yes |
failover_id | Requires Slicer version 20081700 or higher. Assigns a failover group to the Live Slicer. Live Slicer failover also requires that you add this Live Slicer to the failover group identified by this setting. Learn more. Syntax failover_id: ID Example failover_id: 1232b8646dea4cd0a48f5e0ffaa4f8c7 |
future_break_expiration_minutes | Determines the number of minutes that the Live Slicer will retain an API request for a scheduled break before flagging it as eligible for expiration. The drop_expired_breaks setting determines how the Live Slicer handles expired API requests. Syntax future_break_expiration_minutes: {Minutes} Example future_break_expiration_minutes: 50 |
future_timecodes | Determines whether timecodes up to 12 hours in the future can be resolved. Valid values on (Allows timecodes up to 12 hours in the future) or off (Default. Requires the Live Slicer to resolve timecodes within the capture delay buffer) Example future_timecodes:on |
gain | Adjusts audio gain in decibels. Positive values increase gain, negative decrease. Syntax gain: Gain Example gain: 5.0 |
input | Determines the signal’s input source. Valid values blackmagic (Indicates that the source is a Blackmagic DeckLink SDI card), rtmp (Indicates that the source is the RTMP stream identified by the rtmp_url parameter. The RTMP source is incompatible with SCTE, ad breaks, or Action Message Format (AMF).), srt (Indicates that the source is a SRT MPEG2 transport stream. This stream must originate from the IP address defined within the input_addr setting.), tcp (Indicates that the source is a TCP MPEG2 transport stream. This stream must originate from the IP address defined within the input_addr setting.), udp (Indicates that the source is a UDP unicast or multicast MPEG2 transport stream). Syntax input: blackmagic|rtmp|srt|tcp|udp . Example input: udp |
input_addr | SRT and TCP. Defines the IP address for feed ingestion. Syntax input_addr: IP Address. Example input_addr: 192.0.2.1 |
livepreview_max_viewers | Determines max simultaneous viewers for Live Events Dashboard’s Slicer Live Preview. Each instance of a live preview consumes resources on the computer hosting the Live Slicer. This setting is designed to prevent performance issues by capping the number of simultaneous connections. Default value 10 Example livepreview_max_viewers: 10 |
livepreview_with_audio | Requires Slicer version 22083100 or higher. Enables audio for Live Events Dashboard’s Slicer Live Preview. Valid values on or off Example livepreview_with_audio: on |
meta | Defines metadata for assets. Add this setting for each desired metadata field. Each instance of this setting should be specified on a separate line. Syntax meta: Field=Value Example meta: My Field A=Value A meta: My Field B=Value B |
multicast | UDP Only. Defines the IP address of the computer generating the UDP multicast stream. This setting must be defined when the signal’s input source is a UDP multicast MPEG2 transport stream. Syntax multicast: IP Address Example multicast: 100.100.55.22 |
nielsen | Advanced. Set to 1 to scan for Nielsen audio watermarks. DASH Streaming Only: Please also set the nielsen customization parameter within the playback URL.Example nielsen: 1 |
nielsen_ad_mode | Advanced. Defines Nielsen breakout code. Default value 00 Syntax nielsen_ad_mode: 00|03|07|09 Example nielsen_ad_mode: 00 |
nielsen_distributor | Advanced. Defines Nielsen distributor for watermarks and ID3 tags. Default value www.uplynk.com Syntax nielsen_distributor: Distributor ID Example nielsen_distributor: www.example.com |
no_signal_image | Advanced - UDP and RTMP Only. Identifies an image to display when the signal is lost and black video is streamed. The no_signal_pad setting determines whether black or green video is streamed when the signal is lost.Syntax no_signal_image: Filename Example no_signal_image: lostsignal.png |
no_signal_pad | Advanced - UDP Only. Defines time in seconds for solid black video when the signal is lost. Syntax no_signal_pad: Seconds Example no_signal_pad: 30 |
no_signal_shutdown_time | Advanced - UDP Only. Determines time in seconds before the Live Slicer shuts down after signal loss. Syntax no_signal_shutdown |
parse_XDS | Advanced. By default, uses XDS data to update asset’s title and rating information. Disable with parse_XDS: no . |
pids | UDP and RTMP Only. Identifies the set of audio/video tracks that will be consumed by the Live Slicer. Configure this setting to a comma-separated list of PIDs that correspond to the desired audio/video tracks. All other audio/video tracks will be ignored by the Live Slicer. By default, the Live Slicer will consume the first audio/video track when a progID and PIDs have not been specified. Syntax pids: PID 1, PID 2, PID n Example pids: 12, 14, 16 . |
port | Required for UDP Identifies the UDP port. Syntax port: Port Example port: 1234 . |
preview | Determines if the Live Events Dashboard’s Slicer Live Preview will display a video preview. If the livepreview_with_audio setting is not enabled, then this preview will only consist of video. Valid values are on or off . |
progID | UDP Only. Identifies the program in a multi-program transport stream. Configure this setting to the ID of the desired program. If the pids setting has not been defined, then all audio tracks in the program will be consumed. By default, the Live Slicer will consume the first audio/video track when a progID and PIDs have not been specified.Syntax progID: Program ID Example progID: 128 . |
render_608 | Requires version 19022000 or higher. Converts CEA-608/708 channels to WebVTT. Example render_608: cc1,cc2,cc3,cc4 . |
render_608_buffer | Requires version 19022000 or higher. Determines the maximum buffer duration, in seconds, for rending captions to video. Raw video frames will be buffered for the specified duration and therefore is memory intensive. Although memory usage will vary according to resolution and frames per seconds, we strongly discourage a buffer size greater than 5 seconds. This buffer is only relevant for pop-on captions. Roll-up and paint-on captions are rendered immediately and therefore do not require a buffer. Syntax render_608_buffer: {Seconds} Example render_608_buffer: 2 . |
render_teletext | Requires version 20031300 or higher. Converts DVB teletext pages to WebVTT. Use this parameter to assign a language track to a DVB teletext page number. Use a comma to delimit multiple DVB teletext configurations. Syntax render_teletext {Page Number 1}:{Language 1},{Page Number 2}:{Language 2},{Page Number n}:{Language n} Example Converts English DVB teletext from page 888, Italian DVB teletext from page 887, and Russian DVB teletext from page 886: render_teletext 888:eng,887:it,886:ru . |
rgb_lut | Requires version 20092800 or higher. Customizes color representation conversion. Syntax (Simple) rgb_lut from {Color Standard},{Range} to {Color Standard},{Range} /{Absolute Path}/{Cube File Name} Syntax (Extended) rgb_lut from colorspace:{Color Space},primaries:{RGB Primaries},trc:{Transformation Characteristics},range:{Range} to colorspace:{Color Space},primaries:{RGB Primaries},trc:{Transformation Characteristics},range:{Range} /{Absolute Path}/{Cube File Name} Example (simple) rgb_lut from hlg to hdr10,full /path/mylut.cube . Learn more. |
rtmp_url | RTMP Only. Identifies the RTMP stream URL. The enable_rtmp_pull setting determines whether the Live Slicer may pull the RTMP stream instead of monitoring this URL for a stream pushed by your encoder.Example rtmp://example.com:1935/live/mystream . |
rtp_backlog_dur | RTP Only. Determines the seconds for packet history preservation. Syntax rtp_backlog_dur: {Seconds}.{Deciseconds} Recommended Configuration rtp_backlog_dur: 1.4 |
rtp_headers | Determines RTP usage when streaming over UDP. Valid values are 0 (off) and 1 (on) Example rtp_headers: 1 |
rtp_readahead_dur | RTP Only. Balance stream latency with tolerance to disordered packets and forward error correction (FEC) latency when configuring this setting. Set it higher than the average value reported by the skew_sec statistic reported by the Status endpoint of the Live Slicer API. Syntax rtp_readahead_dur: {Seconds}.{Deciseconds} Default Configuration rtp_readahead_dur: 2.0 |
rtp_redundant_feed | RTP Only. Identifies the URL to a backup SMPTE 2022-compliant RTP feed through which the original stream will be reconstructed. Packets missing from one feed will be taken from the other feed. A redundant RTP feed requires the source computer to have two network routes (e.g., 2-port network card). Syntax rtp_redundant_feed: rtp://{hostname}:{port} Example rtp_redundant_feed: rtp://stream.example.com:1234 . |
scte_module | Identifies the SCTE plugin for SCTE 35/104 signal processing. This parameter requires scte_type to be set to python. This parameter requires scte_type to be set to python. You may omit the absolute path to the desired Python file and its file name extension when it resides in the “plugins” subfolder of your Live Slicer’s installation directory. Valid values are scte_baseline or Python file path. Python Syntax (default path) scte_module: {File Name without Extension} Example scte_module: my_scte_plugin Syntax (custom path) scte_module: /{Absolute Path}/{File Name} Example /Users/joe/plugins/my_scte_plugin.py Learn more. |
scte_python_version | Requires version 20031300 or higher Determines the Python version. Valid values are 2.7 , 3.6 , 3.6m . Default Configuration scte_python_version: 2.7 . |
scte_type | Determines how SCTE 35/104 signals are processed. Valid values are none (Disables SCTE 35/104 signal processing) or python (Allows SCTE 35/104 signal processing. The scte_module parameter determines the SCTE plugin that will process your SCTE 35/104 signal). |
SCTE104_DID | SDI (Blackmagic) Only. Defines the DID for SCTE104 triggers. Syntax SCTE104_DID: DID Example SCTE104_DID: 0x41 . |
SCTE104_SDID | SDI (Blackmagic) Only. Defines the SDID for SCTE104 triggers. Syntax SCTE104_SDID: SDID Example SCTE104_SDID: 0x07 . |
slicerID | Required. Assigns a unique ID to a Live Slicer. Use this ID to identify this Live Slicer when setting up a live channel or a live event. Syntax slicerID: Live Slicer ID Example slicerID: SportsFeed1 . |
ssl_port | Exposes the authenticated API over SSL/TLS. Use this parameter to allow the Live Slicer to communicate with the Live Events Dashboard without causing mixed content blocking. Syntax ssl_port: IP Address:Port or ssl_port: Port . Example ssl_port: 443 . |
start_blackout | Advanced. Determines if the Live Slicer will start in blackout mode. Valid values are yes (Indicates that the Live Slicer will start in blackout mode) or sticky (Indicates that the Live Slicer will resume its previous mode upon being started. For example, if a Live Slicer was stopped in blackout mode, then it will resume blackout mode the next time that it is started.). Syntax start_blackout: yes|sticky Example start_blackout: sticky . |
thumbnail | Adds a thumbnail with specified dimensions. A default thumbnail will be created regardless of whether this option is passed. The upper-bound for a thumbnail’s dimensions is determined by the specified width and height. The thumbnail will fit within the specified dimensions, while maintaining the source video’s aspect ratio. A thumbnail’s maximum size cannot exceed any of the following dimensions: Your source video’s resolution; your encoding profile’s maximum resolution; 1280x720 or 720x1280. Add this setting for each desired thumbnail size. Each instance of this setting should be specified on a separate line. Generating additional thumbnails may incur additional storage costs. Syntax thumbnail: Prefix=WidthxHeight Example thumbnail: tiny=150x150 thumbnail: small=200x200 |
timecard | Advanced - SDI (Blackmagic) Only. Determines whether the Live Slicer will load a dynamic library (i.e., libuplynk_timecode.so) that facilitates the integration of an external timecode generator. Enable this capability by configuring this setting to true . Example timecard: true . |
timecode | Advanced. Adds an ID3 tag that defines the time for pic_timing data. Syntax timecode: hh:mm:ss:ff Example timecode: 11:22:11:03 . |
unicast | UDP Only. Defines the IP address for UDP unicast stream. This setting must be defined when the signal’s input source is a UDP unicast MPEG2 transport stream. Syntax unicast: IP Address Example unicast: 100.100.55.22 . |
upscale | Requires version 21070801 or higher. Set to yes to upscale video feed to the highest quality. Your content’s frame rate is independent of resolution. Therefore, upscaling your video feed will not affect its frame rate. Ads are always upscaled regardless of this setting.Example upscale: yes . |
username | Required. Defines the user name for authentication. Typically, your user name is the email address associated with your account. Example username: joe@example.com . |
useSystemClockAsTimecode | UDP (including RTP) and RTMP: Set to 1 to enable start_timecode parameter support. |
verbosity | Sets log data verbosity level. Valid values are 1 (default. Logs error conditions and informational messages) or 3 (Logs error conditions, informational messages, and debug messages). Positive Values: The video will be forced ahead of the audio by the specified amount of time. Negative Values: The video will be forced behind the audio. Syntax username: User Name Example verbosity: 3 . |
video_sync_ms | Advanced - SDI (Blackmagic) Only Sets audio/video sync offset in milliseconds. Syntax video_sync_ms: Milliseconds Example video_sync_ms: 55 . |
wallclock | Advanced. Adds an ID3 tag based on timestamp to each slice. This setting relies on the system time of the computer hosting the Live Slicer. Example wallclock: true |
Hashtags
By default, the hashtag symbol (i.e., #) indicates the start of a comment in a configuration file. Override this behavior by renaming the desired setting as indicated below.
verbatim_Setting
Please remove comments from settings to which the above workaround has been applied.
Most settings only support predefined values or integers. Do not apply this override procedure to those settings.
Example
In this example, the
In this example, the
description
setting is set to Live Capture
and a brief description of this setting appears directly to the right of the hashtag symbol.1description: Live Capture # A description that will be assigned to new assets.23...
In order to set the
description
setting to a value that contains a hashtag, we will modify its name to include the prefix verbatim_
and we will remove the comment from that line.1verbatim_description: #1 Videos by Genre23...
The above configuration sets the
verbatim_description
setting to #1 Videos by Genre
.