Live Slicer

Applies To:

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.

Installing the Live Slicer

Perform the following steps before installing the Live Slicer:

  1. Verify that the desired computer meets or exceeds the minimum system requirements.

  2. 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.

  3. 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.

Installing or Upgrading 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

Navigate to the newly created directory.

Command:

$ cd uplynk_slicer_linux_64-231114.04.01-master/

Run install_live.

Command:

$ sudo ./install_live

Configuring 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 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.
Learn more.

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.

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:

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.

To disable SCTE processing

Define the following setting in your Live Slicer configuration file:

scte_type: none

Metadata

By default, metadata is not defined for assets generated by the Live Slicer. However, an asset's metadata may be defined through any of the following 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 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

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:

Audio

Live Slicer audio setup consists of:

Audio Ingest

The Live Slicer's behavior with regards to audio ingest varies according to whether you are streaming over UDP, RTMP, or SDI.

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 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.

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 of the following audio channel layouts:

Standard Layout (SDI Signal)

Configure a standard audio channel layout through the use of the audio_layout parameter.

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:

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

To set up a custom audio channel layout

  1. Replace Track with the ID of the audio track that will be assigned a custom audio layout.
  2. 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 (UDP / RTMP / SRT / TCP)

By default, the Live Slicer uses the following channel layout for Dolby:

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:

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:

  1. Create a failover group and assign it Live Slicers and live channel(s).
  2. 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.

Live Slicer 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. 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:

Example:

ancillary_lines: 9, 13

ancillary_scan

SDI (Blackmagic) Only

Determines whether all ancillary lines will be scanned.

Valid values are:

  • on: All ancillary lines will be scanned.
  • off: Only the ancillary lines defined by the ancillary_lines setting will be scanned.

Syntax:

ancillary_scan: on|off

Example:

ancillary_scan: off

api_port

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:

Syntax (bind to any adapter):

Example:

api_port: 127.0.0.1:65009

apikey

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.

Syntax:

Example:

apikey: abcDEFghiJKLmnoPQRtuvWXYz123ABCdefGHIJKL

audio_custom_layout_TrackReplace this variable with the audio track that will be assigned a custom audio channel layout.

SDI (Blackmagic) Only

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.

Learn more.

Syntax (downmix audio to mono):

Syntax (downmix audio to stereo):

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

audio_desc_#Replace this variable with either the desired SDI input channel or the packet identifier that identifies the desired audio track.

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:

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:

Example:

audio_dolby_12: 1

audio_lang_PIDReplace this variable with the packet identifier that identifies the desired audio track.

UDP and RTMP Only

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:

Example:

audio_lang_12: en

audio_layout

SDI (Blackmagic) Only

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.

Learn more.

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

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:

Example:

autoexpire_age: 24

backup

Advanced

Determines whether the Live Slicer will store content on an alternate cloud storage.

Valid values are:

  • true: The Live Slicer will upload content to an alternate path on an alternate origin storage.

  • 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 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:

  • 48000: Sets the delay to 1 second.
  • 96000: Sets the delay to 2 seconds. This is the recommended value.

Default value:

96000

Syntax:

blankVideoSampleDelay: 48000|96000

Example:

blankVideoSampleDelay: 96000

captions_DID

SDI (Blackmagic) Only

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

captions_SDID

SDI (Blackmagic) Only

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

capture_delay

Determines the length of the delay, in seconds, that will be added to facilitate timecode matching.

Syntax:

Example:

capture_delay: 5

capture_mode

SDI (Blackmagic) Only

Determines the capture mode for the Blackmagic DeckLink SDI card.

Run the following command to view valid values for this setting:

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) corresponding to Blackmagic DeckLink SDI card(s).

Syntax:

card: Card Number

Example:

card: 1

cc#Replace this variable with desired channel number._desc

Advanced

Defines a description for the closed captioning channel defined by this setting's name.

Syntax:

Example:

cc1_desc: English

cc#Replace this variable with desired channel number._lang

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:

Example:

cc1_lang: en

cc_filter

Advanced

Determines whether closed captions will be filtered.

Valid values are:

  • on: Disables filtering CEA-608/708 captions on all channels with the exception of channel 1.
  • off: Filters CEA-608/708 captions on all channels.

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

disable_slicer_config_upload

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:

  • yes: The Live Slicer will not upload your configuration file.
  • no: Allows the Live Slicer to automatically upload your configuration file to our service.

    Live Slicer version 22083100 cannot upload your configuration file regardless of this setting. This capability will be introduced with an upcoming version of the Live Slicer.

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:

Mode Signed Playback URL Studio DRM

none

 

 

regular

 

studio

Example:

-drm_mode: studio

drop_expired_breaks

Determines how a Live Slicer will handle expired API requests. Valid values are:

  • on: The Live Slicer will ignore expired API requests.
  • off: The Live Slicer will perform the 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.

Default value: 

off

Example:

drop_expired_breaks: on

enable_remote_config

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

enable_rtmp_pull

RTMP Only

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:

  • yes: Allows the Live Slicer to pull the RTMP feed.
  • no: The 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. 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

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.

Learn more.

Syntax:

future_break_expiration_minutes: Minutes

Example:

future_break_expiration_minutes: 50

future_timecodes

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:

  • on: Allows timecodes up to 12 hours in the future.
  • off: Requires the Live Slicer to resolve timecodes within the capture delay buffer.

Default value: 

off

Example:

future_timecodes:on

gain

Adjusts the amount of gain, in decibels, that will be applied to the audio.

  • Positive Values: Increase gain.
  • Negative Values: Decrease gain.

Syntax:

gain: Gain

Example:

gain: 5.0

input

Determines the signal's input source.

Valid values are:

  • 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 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:

Example:

meta: My Field A=Value A

meta: My Field B=Value B

multicast

UDP Only

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

nielsen

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 signal is lost.
  • A solid black video is being 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

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:

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:

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

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 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:

Example:

pids: 12, 14, 16

port

Required for UDP

UDP Only

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

UDP Only

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

remote

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:

render_608

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

render_teletext

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:

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

Learn more.

rgb_lut

Requires Slicer version 20092800 or higher

Customize color representation conversion by assigning a lookup table (LUT) to the desired color space conversion.

Syntax (Simple):

Syntax (Extended):

Example:

rgb_lut from hlg to hdr10,full /path/mylut.cube

Learn more.

rtmp_url

RTMP Only

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

Learn more.

rtp_backlog_dur

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

rtp_headers

Determines whether RTP will be used when streaming over UDP.

Valid values are:

  • 0: Indicates that RTP will not be used when streaming over UDP.
  • 1: Enables RTP when streaming over UDP.

Example:

rtp_headers: 1

rtp_readahead_dur

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_redundant_feed

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

scte_module

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_baseline: Indicates that the Baseline SCTE plugin will process your SCTE 35/104 signal.

    Learn more.

  • Python File: Identify a custom Python file that will process your SCTE 35/104 signal.

    Syntax (default path):

    scte_module: File Name without Extension

    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.

    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 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:

  • none: Disables SCTE 35/104 signal processing.
  • 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 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:

Example:

SCTE104_DID: 0x41

SCTE104_SDID

SDI (Blackmagic) Only

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:

Example:

SCTE104_SDID: 0x07

slicerID

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.
Learn more.

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:

  • yes: Indicates that the Live Slicer will start in blackout mode.
  • 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.

Key information:

  • 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:

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:

Example:

timecode: 11:22:11:03

unicast

UDP Only

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

upscale

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

useSystemClockAsTimecode

UDP (including RTP) and RTMP

Set to 1 to enable support for the start_timecode parameter within the Live Slicer API.

verbosity

Sets the log data verbosity level.

Valid values are:

  • 1: Default level. Logs error conditions and informational messages.
  • 3: Logs error conditions, informational messages, and debug messages.

Example:

verbosity: 3

video_sync_ms

Advanced - SDI (Blackmagic) Only

Sets the length of time, in milliseconds, of an audio/video sync offset.

  • 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:

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 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.

More Information