The 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 initctl commands.
Perform the following steps before installing the Live Slicer:
Verify that the desired computer meets or exceeds the minimum system requirements.
The minimum system requirements for the computer hosting the Live Slicer are provided below.
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 rayA stream with a specific quality configuration based on set bit rate and resolution targets. Each ray is divided into slices. 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:
|
Live Feed |
The broadcasting infrastructure must transmit data to the Live Slicer using either of the following technologies:
Ensure optimal data transmission rates by placing the source of the live feed in close proximity to the Live Slicer. |
Ports |
Outbound connections on 80 and 443 |
Configure your firewall to allow outbound connections on ports 80 and 443.
The Live Slicer relies on ports 80 and 443 to communicate with our services and to upload encrypted slices for encoding.
Verify 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.
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-240916.03.01.tbz2
...uplynk_slicer_linux_64-240916.03.01-master/
uplynk_slicer_linux_64-240916.03.01-master/slicebot.cfg.example
uplynk_slicer_linux_64-240916.03.01-master/libfreetype.so.6
uplynk_slicer_linux_64-240916.03.01-master/libavcodec.so.57
uplynk_slicer_linux_64-240916.03.01-master/libcares.so.2
uplynk_slicer_linux_64-240916.03.01-master/slicer
uplynk_slicer_linux_64-240916.03.01-master/example.conf
uplynk_slicer_linux_64-240916.03.01-master/libcrypto.so.1.0.0
uplynk_slicer_linux_64-240916.03.01-master/libssl.so.1.0.0
uplynk_slicer_linux_64-240916.03.01-master/liveslicer
uplynk_slicer_linux_64-240916.03.01-master/font_i420.dat
uplynk_slicer_linux_64-240916.03.01-master/libavfilter.so.6
uplynk_slicer_linux_64-240916.03.01-master/ca-bundle.crt
uplynk_slicer_linux_64-240916.03.01-master/install_live
uplynk_slicer_linux_64-240916.03.01-master/libswscale.so.4
uplynk_slicer_linux_64-240916.03.01-master/libswresample.so.2.4.100
uplynk_slicer_linux_64-240916.03.01-master/libbeam-slicer.so
uplynk_slicer_linux_64-240916.03.01-master/libopus.so.0
uplynk_slicer_linux_64-240916.03.01-master/libopus.so.0.5.0
uplynk_slicer_linux_64-240916.03.01-master/LICENSE.txt
uplynk_slicer_linux_64-240916.03.01-master/slicebot
uplynk_slicer_linux_64-240916.03.01-master/README.html
uplynk_slicer_linux_64-240916.03.01-master/libavformat.so.57
uplynk_slicer_linux_64-240916.03.01-master/libavformat.so.57.58.101
uplynk_slicer_linux_64-240916.03.01-master/libavutil.so.55
...
Navigate to the newly created directory.
Command:
$ cd uplynk_slicer_linux_64-240916.03.01-master/
Run install_live.
Command:
$ sudo ./install_live
Upon installing the Live Slicer, the following configuration file will be created:
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 it to a description that will be assigned to new assets. |
username |
Set it 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. Where can I find my API key(s)?
Example: apikey: abcDEFghiJKLmnoPQRtuvWXYz123ABCdefGHIJKL
|
slicerID |
Set it 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. How?
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.
Click to expand instructions for your signal source:
Please review and/or update these Live Slicer configuration settings to reflect your installation.
Setting | Description |
---|---|
Verify that this setting is set to blackmagic. |
|
Verify that this setting is set to the card number corresponding to your Blackmagic DeckLink SDI card. |
|
Verify that this setting correctly identifies the DIDThe Data Identifier word, along with the Secondary Data Identifier (SDID), identifies the type of data corresponding to a packet. for SCTE104 triggers. |
|
Verify that this setting correctly identifies the SDIDThe Secondary Data Identifier word, along with the Data Identifier (DID), identifies the type of data corresponding to a packet. for SCTE104 triggers. |
|
Verify that this setting correctly identifies the DIDThe Data Identifier word, along with the Secondary Data Identifier (SDID), identifies the type of data corresponding to a packet. for closed captioning. |
|
Verify that this setting correctly identifies the SDIDThe Secondary Data Identifier word, along with the Data Identifier (DID), identifies the type of data corresponding to a packet. for closed captioning. |
|
Verify that this setting accurately reflects the ancillary lines to be scanned. |
Please update these Live Slicer configuration settings to reflect your installation.
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. |
Modify |
Set it to udp. |
|
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. |
|
Add |
Add this setting and set it to the port on which the Live Slicer will listen for the UDP stream. |
|
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 to 0. |
|
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. |
|
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 for the purpose of reducing dropped packets. |
|
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.
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.
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).
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. |
Modify |
Set it to rtmp. |
|
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. |
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. |
Modify |
Set it to srt. |
|
Add |
Set it to the IP address of the computer generating the SRT stream. |
|
Add |
Add this setting and set it to the port on which the Live Slicer will listen for the SRT stream. |
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. |
Modify |
Set it to tcp. |
|
Add |
Set it to the IP address of the computer generating the TCP stream. |
|
Add |
Add this setting and set it to the port on which the Live Slicer will listen for the TCP stream. |
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.
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.
To disable SCTE processing
Define the following setting in your Live Slicer configuration file:
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:
meta MyField1=ValueA
meta 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.
By default, the Live Slicer will automatically convert the input signal's color standard to either HDR10 or SDRStandard-Dynamic-Range according to whether your encoding profile supports HDRHigh-Dynamic-Range.
Encoding Profile |
Color Standard (Source) |
Color Standard (Output) |
---|---|---|
HDR |
HDR (including HLGHybrid Log-Gamma (HLG) is an HDR standard.) or SDR All SDR source content, including ads, will be converted to HDR10. |
HDR10 |
SDR |
HDR (including HLG) or SDR |
SDR |
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:
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:
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:
Live Slicer audio setup consists of:
The Live Slicer's behavior with regards to audio ingest varies according to whether you are streaming over UDP, RTMP, or SDI.
UDP / RTMP / SRT / TCP
You must specify each audio track that will be ingested via the pids parameter.
Example:
The following configuration initializes the audio tracks that correspond to the packets whose identifiers are 308, 256, 257, and 258:
SDI
The Live Slicer automatically ingests the audio tracks that correspond to SDI channels 0 - 15.
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 PlusDolby Digital Plus (DD+) - (aka E-AC-3 and EC-3). A digital audio compression standard. (DD+) and AAC subtracks by passing the audio_dolby_# parameter.
Playback of DD+ audio subtracks requires the ddp playback URL parameter.
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:
pids: 308,256,257,258
audio_lang_256: eng
audio_desc_256: primary
audio_lang_257: eng
audio_desc_257: secondary
audio_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
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.
The Live Slicer may be configured to use either of the following audio channel layouts:
Configure a standard audio channel layout through the use of the audio_layout parameter.
Audio Channel | Channel Layout |
---|---|
stereo 1 |
Channels:
|
stereo 2 |
Channels:
|
stereo 3 |
Channels:
|
stereo 4 |
Channels:
|
stereo 5 |
Channels:
|
stereo 6 |
Channels:
|
stereo 7 |
Channels:
|
stereo 8 |
Channels:
|
5.1 |
Channels:
|
CEA |
Channels:
|
7.1 |
Channels:
|
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.
Before defining a custom audio layout, it is important to become acquainted with the following terminology:
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:
Use the following syntax to downmix audio to stereo:
Use the following syntax to downmix audio to 5.1:
To set up a custom audio channel layout
The following sample mono configuration sets the source for audio track 0 to SDI channels 0, 1, and 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:
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%.
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%.
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:
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:
By default, the Live Slicer uses the following channel layout for Dolby:
The Live Slicer outputs verbose logging information to syslog. A default syslog configuration will send these messages to:
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.
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:
Alternatively, use the following syntax if you plan on starting the Live Slicer via the command line:
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:
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.
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 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Defines the ancillary lines that will be scanned. You may only specify ancillary lines numbered from 0 to 31. This setting is ignored when the ancillary_scan setting is set to on or the input setting is set to UDP or RTMP. Syntax: ancillary_lines: #Replace this symbol with a number that identifies the desired ancillary line., #Replace this symbol with a number that identifies the desired ancillary line., ...
Example: ancillary_lines: 9, 13
|
|||||||||||||
ancillary_scan |
Determines whether all ancillary lines will be scanned. Valid values are:
Syntax: ancillary_scan: on|off
Example: ancillary_scan: off
|
||||||||||||
API Defines the port on which the Live Slicer will listen for API calls. Omit the IP address to allow the port to bind to any adapter. A default Live Slicer configuration file sets it to 127.0.0.1:65009. This binds port 65009 to your local host adapter. Syntax: IP AddressReplace this variable with the IP address of the computer hosting the Live Slicer.:PortReplace this variable with the port number on which the Live Slicer will listen for API requests.
Syntax (bind to any adapter): Example: api_port: 127.0.0.1:65009
|
|||||||||||||
Required |
Requires Live Slicer version 17111500 or higher Defines the secret API key through which the Live Slicer will authenticate to your account. This API key should correspond to the account associated with the user defined by the username setting. Where can I find my API key(s)?
Syntax: Example: apikey: abcDEFghiJKLmnoPQRtuvWXYz123ABCdefGHIJKL
|
||||||||||||
audio_custom_layout_TrackReplace this variable with the audio track that will be assigned a custom audio channel layout. |
Defines a custom audio channel layout for the audio track identified by 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. Syntax (downmix audio to mono): audio_custom_layout_TrackRepresents the audio track that will be assigned a custom audio channel layout.: mono|X=SDI Input ChannelRepresents the SDI input channel that will be mapped. Valid values are 0 - 15.@LevelOptional. Represents the level at which the corresponding SDI input channel will be mapped. Specify this value by multiplying the desired percentage by 10.
Syntax (downmix audio to stereo): audio_custom_layout_Track: stereo|L=SDI Input ChannelRepresents the SDI input channel that will be mapped. Valid values are 0 - 15.@LevelOptional. Represents the level at which the corresponding SDI input channel will be mapped. Specify this value by multiplying the desired percentage by 10.,R=SDI Input ChannelRepresents the SDI input channel that will be mapped. Valid values are 0 - 15.@LevelOptional. Represents the level at which the corresponding SDI input channel will be mapped. Specify this value by multiplying the desired percentage by 10.
Syntax (downmix audio to 5.1): audio_custom_layout_Track: 5.1|C=SDI Input ChannelRepresents the SDI input channel that will be mapped. Valid values are 0 - 15.@LevelOptional. Represents the level at which the corresponding SDI input channel will be mapped. Specify this value by multiplying the desired percentage by 10.,L=SDI Input ChannelRepresents the SDI input channel that will be mapped. Valid values are 0 - 15.@LevelOptional. Represents the level at which the corresponding SDI input channel will be mapped. Specify this value by multiplying the desired percentage by 10.,R=SDI Input ChannelRepresents the SDI input channel that will be mapped. Valid values are 0 - 15.@LevelOptional. Represents the level at which the corresponding SDI input channel will be mapped. Specify this value by multiplying the desired percentage by 10.,LR=SDI Input ChannelRepresents the SDI input channel that will be mapped. Valid values are 0 - 15.@LevelOptional. Represents the level at which the corresponding SDI input channel will be mapped. Specify this value by multiplying the desired percentage by 10.,RR=SDI Input ChannelRepresents the SDI input channel that will be mapped. Valid values are 0 - 15.@LevelOptional. Represents the level at which the corresponding SDI input channel will be mapped. Specify this value by multiplying the desired percentage by 10.,LFE=SDI Input ChannelRepresents the SDI input channel that will be mapped. Valid values are 0 - 15.@LevelOptional. Represents the level at which the corresponding SDI input channel will be mapped. Specify this value by multiplying the desired percentage by 10.
Example: audio_custom_layout_0: stereo|L=0@707&2@800,R=4
|
||||||||||||
Assigns a description to an audio track. Identify the source audio track by specifying its SDI channel or PIDA packet identfier identifies a table or an elementary stream in a transport stream. The Live Slicer uses PIDs to identify audio/video tracks. within this setting's name. By default, audio tracks are assigned a description of unspecified. Syntax: audio_desc_#Replace this variable with either the desired SDI input channel or the packet identifier that identifies the desired audio track.: Audio Track Description
Example: audio_desc_12: My Track
|
|||||||||||||
audio_dolby_#Replace this variable with either the desired SDI input channel or the packet identifier that identifies the desired audio track. |
Set to 1 to encode audio as Dolby Digital Plus (DD+). Identify the source audio track by specifying its SDI channel or PIDA packet identfier identifies a table or an elementary stream in a transport stream. The Live Slicer uses PIDs to identify audio/video tracks. within this setting's name. Syntax: audio_dolby_#Replace this variable with either the desired SDI input channel or the packet identifier that identifies the desired audio track.: 1
Example: audio_dolby_12: 1
|
||||||||||||
audio_lang_PIDReplace this variable with the packet identifier that identifies the desired audio track. |
Assigns a language to the audio track corresponding to the PIDA packet identfier identifies a table or an elementary stream in a transport stream. The Live Slicer uses PIDs to identify audio/video tracks. defined within this setting's name. Syntax: audio_lang_PIDReplace this variable with the packet identifier that identifies the desired audio track.: LanguageAssigns a language to an audio track.
Example: audio_lang_12: en
|
||||||||||||
Defines a standard audio channel layout. Valid values are:
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. Syntax: audio_layout: Audio Channel Layout
Example: audio_layout: 5.1
|
|||||||||||||
Advanced Exposes the authenticated API on a specific port. Syntax (IP address and port): authenticated_api_port: IP Address:Port
Syntax (port only): authenticated_api_port: Port
Example: authenticated_api_port: 88
|
|||||||||||||
autoexpire_age |
Determines how long assets will be retained. Valid values are:
Syntax: autoexpire_age: 0|HoursReplace this variable with the number of hours that an asset will be retained before deletion.
Example: autoexpire_age: 24
|
||||||||||||
backup |
Advanced Determines whether the Live Slicer will store content on an alternate cloud storage. Valid values are:
Syntax: backup: true|false
Example: backup: false
|
||||||||||||
blankVideoSampleDelay |
Advanced - UDP and RTMP Only Defines the length of the delay, in samples, 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. Valid values are:
Default value: 96000
Syntax: blankVideoSampleDelay: 48000|96000
Example: blankVideoSampleDelay: 96000
|
||||||||||||
Identifies the DIDThe Data Identifier word, along with the Secondary Data Identifier (SDID), identifies the type of data corresponding to a packet. that corresponds to closed captions. Syntax: Example: captions_DID: 0x61
|
|||||||||||||
Identifies the SDIDThe Secondary Data Identifier word, along with the Data Identifier (DID), identifies the type of data corresponding to a packet. that corresponds to closed captions. Syntax: Example: captions_SDID: 0x01
|
|||||||||||||
Determines the length of the delay, in seconds, that will be added to facilitate timecode matching. Syntax: capture_delay: SecondsReplace this variable with the number of seconds that captured will be delayed.
Example: capture_delay: 5
|
|||||||||||||
capture_mode |
Determines the capture mode for the Blackmagic DeckLink SDI card. Run the following command to view valid values for this setting: $ uplynk_liveslicer -card CardNumberReplace this variable with the number corresponding to the Blackmagic DeckLine SDI card. -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
|
||||||||||||
Identifies the card number(s) corresponding to Blackmagic DeckLink SDI card(s). Syntax: card: Card Number
Example: card: 1
|
|||||||||||||
Advanced Defines a description for the closed captioning channel defined by this setting's name. Syntax: cc#Replace this variable with desired channel number._desc: CC Channel Description
Example: cc1_desc: English
|
|||||||||||||
Advanced Identifies the language associated with the closed captioning channel defined by this setting's name. Specify a language by its code (e.g., en). Syntax: cc#Replace this variable with desired channel number._lang: CC Channel Language
Example: cc1_lang: en
|
|||||||||||||
cc_filter |
Advanced Determines whether closed captions will be filtered. Valid values are:
An issue with iOS versions prior to 7.1 will cause devices to improperly render all caption channels when channels in addition to channel 1 are present. Syntax: cc_filter: on|off
Example: cc_filter: on
|
||||||||||||
debugoverlay |
Advanced This setting should not be used for production traffic. Set it to 1 to overlay debug information (e.g., current rayA stream with a specific quality configuration based on set bit rate and resolution targets. Each ray is divided into slices.) onto the video. 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 to be assigned to new assets. Syntax: description: Asset Description
Example: description: My Live Event
|
||||||||||||
Requires Slicer version 22083100 or higher Determines whether your Live Slicer will be allowed to automatically upload your configuration file to our service. 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 are:
Example: disable_slicer_config_upload: yes
Default value: no
|
|||||||||||||
drm_mode |
Requires Slicer version 18052400 or higher Determines the level of security that will be applied to a CMS asset generated by the Live Slicer. 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 are:
Example: -drm_mode: studio
|
||||||||||||
Determines how a Live Slicer will handle expired API requests. Valid values are:
Default value: off
Example: drop_expired_breaks: on
|
|||||||||||||
Requires Slicer version 21071400 or higher Set it to 1 to allow the Live Slicer to report 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 are: 0 | 1
Example: enable_remote_config: 1
|
|||||||||||||
Requires Slicer version 22083100 or higher Determines whether the Live Slicer can pull the RTMP feed from the URL defined within the rtmp_url setting. Valid values are:
Example: enable_rtmp_pull: yes
|
|||||||||||||
Requires Slicer version 20081700 or higher Assigns a failover group to the Live Slicer. Identify the desired failover group by its system-defined ID. Live Slicer failover also requires that you add this Live Slicer to the failover group identified by this setting. Example: failover_id: 1232b8646dea4cd0a48f5e0ffaa4f8c7
|
|||||||||||||
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
|
|||||||||||||
Determines whether the Live Slicer may resolve timecodes, which may be defined within an API request, up to 12 hours in the future. Valid values are:
Default value: off
Example: future_timecodes:on
|
|||||||||||||
Adjusts the amount of gain, in decibels, that will be applied to the audio.
Syntax: gain: Gain
Example: gain: 5.0
|
|||||||||||||
Determines the signal's input source. Valid values are:
Syntax: input: blackmagic|rtmp|srt|tcp|udp
Example: input: udp
|
|||||||||||||
Defines the IP address from which your feed will be pushed. The Live Slicer will only ingest feeds served from this IP address. Example: input_addr: 192.0.2.1
|
|||||||||||||
livepreview_max_viewers |
Determines the maximum number of simultaneous viewers for a 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
|
||||||||||||
livepreview_with_audio |
Requires Slicer version 22083100 or higher Enables audio for the Live Events Dashboard's Slicer Live Preview. The Slicer Live Preview pane displays audio levels regardless of whether this setting is enabled. Valid values are: on | off
|
||||||||||||
meta |
Defines metadata that will be assigned to assets generated by the Live Slicer. Add this setting for each desired metadata field. Each instance of this setting should be specified on a separate line. Syntax: meta: FieldReplace this variable with the name of the desired metadata field.=ValueReplace this variable with the value that will be assigned to the specified metadata field.
Example: meta: My Field A=Value A meta: My Field B=Value B |
||||||||||||
This setting must be defined when the signal's input source is a UDP multicast MPEG2 transport stream. Defines the IP address of the computer generating the UDP multicast stream. Syntax: multicast: IP Address
Example: multicast: 100.100.55.22
|
|||||||||||||
Advanced Set it to 1 to allow the Live Slicer 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 the Nielsen breakout code. Default value: 00
Syntax: nielsen_ad_mode: 00|03|07|09
Example: nielsen_ad_mode: 00
|
||||||||||||
nielsen_distributor |
Advanced Defines the Nielsen distributor for use with Nielsen audio watermarks and ID3 tags assigned to assets generated by the Live Slicer. Default value: www.uplynk.com
Syntax: nielsen_distributor: Nielsen Distributor ID
Example: nielsen_distributor: www.example.com
|
||||||||||||
no_signal_image |
Advanced - UDP and RTMP Only Identifies an image by its filename and displays it when both of the following conditions are true:
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 By default, a solid green video will be streamed when the signal is lost. Determines the length of time, in seconds, that a solid black video will be streamed when the signal is lost. Once this time period has elapsed, a solid green video will be shown. Syntax: no_signal_pad: SecondsReplace this variable with the number of seconds that solid black video will be streamed when the signal is lost.
Example: no_signal_pad: 30
|
||||||||||||
no_signal_shutdown_time |
Advanced - UDP Only Determines the length of time, in seconds, before the Live Slicer will be shut down after the signal is lost. Syntax: no_signal_shutdown_time: SecondsReplace this variable with the number of seconds before the Live Slicer will shut down due to a lost signal.
Example: no_signal_shutdown_time: 60
|
||||||||||||
parse_XDS |
Advanced By default, the Live Slicer leverages a stream's Extended Data Services (XDS) data, when present, to update the current asset's title and rating information. Disable this functionality by configuring this setting to no. Example: parse_XDS: no
|
||||||||||||
password Deprecated |
This setting was discontinued on 3/26/2019. You must use the apikey setting instead to authenticate your Live Slicer. Defines the password associated with the user defined by the username setting. Syntax: password: Password
Example: password: secret
|
||||||||||||
Identifies the set of audio/video tracks that will be consumed by the Live Slicer. Configure this setting to a comma-separated list of PIDA packet identfier identifies a table or an elementary stream in a transport stream. The Live Slicer uses PIDs to identify audio/video tracks.s 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 1Replace this variable with the packet identifier that identifies the desired audio track., PID 2Replace this variable with the packet identifier that identifies the desired audio track., PID nReplace this variable with the packet identifier that identifies the desired audio track.
Example: pids: 12, 14, 16
|
|||||||||||||
Required for UDP |
Identifies the port on which the Live Slicer will listen for the UDP stream. Syntax: port: Port
Example: port: 1234
|
||||||||||||
preview |
Determines whether 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 | off
|
||||||||||||
progID |
Identifies the program in a multi-program transport stream that will be consumed by the Live Slicer. 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
|
||||||||||||
Deprecated |
If you are using Live Slicer version 21071400 or higher, then you should use the enable_remote_config setting instead. If you are using an older version of the Live Slicer, then you should continue to use the remote setting. Allows the Live Slicer to report 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. This setting does not accept a value. The presence of this setting determines whether the Live Slicer will leverage a failover group's health criteria. Example: remote:
|
||||||||||||
Requires Slicer version 19022000 or higher Converts each specified CEA-608/708A CEA-708 channel includes CEA-608 captions for the purpose of backwards-compatibility. Enabling this option will only convert those CEA-608 captions to WebVTT when a CEA-708 channel is present. channel to WebVTT (Web Video Text Tracks). Example: render_608: cc1,cc2,cc3,cc4
|
|||||||||||||
render_608_buffer |
Requires Slicer 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
|
||||||||||||
Requires Slicer version 20031300 or higher Convert one or more 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 1Replace this term with the page number from which DVB teletext will be processed.:Language 1Replace this term with the name of the language corresponding to the DVB teletext on the identified page.,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
|
|||||||||||||
Requires Slicer version 20092800 or higher Customize color representation conversion by assigning a lookup table (LUT) to the desired color space conversion. Syntax (Simple): rgb_lut from Color StandardIdentifies the input signal's color standard. Valid values are: hlg | hdr10 | sdr.,RangeIdentifies the input signal's range. Valid values are: full | narrow. Support for full range varies by LUT. to Color StandardIdentifies the output signal's color standard. Valid values are: hdr10 | sdr.,RangeIdentifies the output signal's range. Valid values are: full | narrow. /Absolute Path/Cube File Name
Syntax (Extended): rgb_lut from colorspace:Color SpaceIdentifies the input signal's color space (e.g., bt2020nc).,primaries:RGB PrimariesIdentifies the input signal's RGB primaries via a color space (e.g., bt2020).,trc:Transformation CharacteristicsIdentifies the input signal's transformation characteristics (aka lineralization function) (e.g., arib-std-b67).,range:RangeIdentifies whether the input signal uses a full (i.e., pc) or narrow (i.e., tv) range. Valid values are: tv | pc. Support for full range varies by LUT. to colorspace:Color SpaceIdentifies the output signal's color space (e.g., bt2020nc).,primaries:RGB PrimariesIdentifies the output signal's RGB primaries via a color space (e.g., bt2020).,trc:Transformation CharacteristicsIdentifies the output signal's transformation characteristics (aka lineralization function) (e.g., arib-std-b67).,range:RangeIdentifies whether the output signal's range is full (i.e., pc) or narrow (i.e., tv). Valid values are: tv | pc. /Absolute Path/Cube File Name
View sample extended syntax.
The extended syntax for hlg is: colorspace:bt2020nc,primaries:bt2020,trc:arib-std-b67,range:tv
The extended syntax for hdr10 is: colorspace:bt2020nc,primaries:bt2020,trc:smpte2084
The extended syntax for sdr is: colorspace:bt709,primaries:bt709,trc:bt709
Example: rgb_lut from hlg to hdr10,full /path/mylut.cube
|
|||||||||||||
Identifies the URL for the RTMP stream that the Live Slicer will ingest. 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 Only Determines the number of seconds for which packet history will be preserved. Setting this to a larger value helps reduce the number of dropped packets due to high CPU usage, but it will also cap the bandwidth for stream ingestion. Syntax: rtp_backlog_dur: Seconds.Deciseconds
Recommended Configuration: rtp_backlog_dur: 1.4
|
|||||||||||||
Determines whether RTP will be used when streaming over UDP. Valid values are:
Example: rtp_headers: 1
|
|||||||||||||
RTP Only Determines the number of seconds that the Live Slicer will wait before uploading content to the cloud. 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 Only Identifies the URL to a backup SMPTE 2022-compliantST 2022-1:2007 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
|
|||||||||||||
Identifies the SCTE plugin that will process your SCTE 35/104 signal. This parameter requires scte_type to be set to python. Valid values are:
|
|||||||||||||
scte_python_version |
Requires Slicer version 20031300 or higher Determines which version of Python will be used. Valid values are: Default configuration: scte_python_version: 2.7
|
||||||||||||
scte_type |
Determines how a SCTE 35/104 signal will be processed. Valid values are:
|
||||||||||||
Defines the DIDThe Data Identifier word, along with the Secondary Data Identifier (SDID), identifies the type of data corresponding to a packet. that corresponds to SCTE104 triggers. Syntax: SCTE104_DID: DIDReplace this variable with the desired DID.
Example: SCTE104_DID: 0x41
|
|||||||||||||
Defines the SDIDThe Secondary Data Identifier word, along with the Data Identifier (DID), identifies the type of data corresponding to a packet. that corresponds to SCTE104 triggers. Syntax: SCTE104_SDID: SDIDReplace this variable with the desired SDID.
Example: SCTE104_SDID: 0x07
|
|||||||||||||
Required |
Assigns a unique alphanumeric 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 on a specific port over SSL/TLS. Use this parameter to allow the Live Slicer to communicate with the Live Events Dashboard without causing mixed content blocking. Syntax (IP address and port): ssl_port: IP Address:Port
Syntax (port only): ssl_port: Port
Example: ssl_port: 443
|
||||||||||||
start_blackout |
Advanced Determines whether the Live Slicer will start in blackout mode. Valid values are:
Syntax: start_blackout: yes|sticky
Example: start_blackout: sticky
|
||||||||||||
thumbnail |
Adds a thumbnail. Key information:
Syntax: thumbnail: PrefixReplace this variable with a prefix that describes the thumbnail type.=WidthReplace this variable with the thumbnail width in pixels.xHeightReplace this variable with the thumbnail height in pixels.
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 the pic_timing data in the SEI NAL unit. Syntax: timecode: hhReplace this variable with the desired hour using a 24-hour clock.:mmReplace this variable with the desired minute.:ssReplace this variable with the desired second.:ffReplace this variable with the desired millisecond.
Example: timecode: 11:22:11:03
|
||||||||||||
This setting must be defined when the signal's input source is a UDP unicast MPEG2 transport stream. Defines the IP address of the computer generating the UDP unicast stream. Syntax: unicast: IP Address
Example: unicast: 100.100.55.22
|
|||||||||||||
Requires Slicer version 21070801 or higher By default, our service passes through the source video feed. Set it to yes to upscale the source video feed to the highest quality rayA stream with a specific quality configuration based on set bit rate and resolution targets. Each ray is divided into slices. in your encoding profile. 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 through which the Live Slicer will authenticate to your account. Typically, your user name is the email address associated with your account. Syntax: username: User Name
Example: username: joe@example.com
|
||||||||||||
UDP (including RTP) and RTMP Set to 1 to enable support for the start_timecode parameter within the Live Slicer API. |
|||||||||||||
Sets the log data verbosity level. Valid values are:
Example: verbosity: 3
|
|||||||||||||
video_sync_ms |
Advanced - SDI (Blackmagic) Only Sets the length of time, in milliseconds, of an audio/video sync offset.
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
|
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.
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 description setting is set to Live Capture and a brief description of this setting appears directly to the right of the hashtag symbol.
description: Live Capture # A description that will be assigned to new assets.
...
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.
verbatim_description: #1 Videos by Genre
...
The above configuration sets the verbatim_description setting to #1 Videos by Genre.