Requires Live Slicer version 20081700 or higher
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. It is able to do so because each Live Slicer in a failover group provides status information to our system at regular and frequent intervals. If the primary Live Slicer is unhealthy, then our system will switch the source of the live stream to a different Live Slicer. This may cause viewers to experience a few seconds of discontinuity.
Key information:
You may only assign a Live Slicer to a single failover group.
Reassign a Live Slicer to a different failover group by first removing it from its current failover group.
You may only assign a live channel to a single failover group.
Reassign a live channel to a different failover group by first removing it from its current failover group.
Live Slicer health status is assessed through one or more metric(s). A Live Slicer is considered unhealthy if at least one metric falls below a custom threshold for a given duration.
Restart the Live Slicers associated with a failover group to apply threshold changes.
Each metric is described below.
Metric | Description |
---|---|
Audio loss |
Determines the length of time during which audio is not detected before triggering failover. Periods of silence may be normal. Consider the source content when setting thresholds. |
Black screen |
Determines the length of time that black frames may be sent by a Live Slicer before triggering failover. Periods of black video may be normal. Consider the source content when setting thresholds. This metric measures the duration of black video by averaging the video's luminosity percentage over the last few seconds. |
CC last seen |
Determines the amount of time that a Live Slicer may not receive closed captioning data before triggering failover. Key information:
|
Dropped frames |
Determines how many frames may be dropped within the current reporting period before triggering failover. |
Input loss |
Determines the length of time that the system may not receive the Live Slicer's signal before triggering failover. |
Nielsen last seen |
Determines the length of time that may elapse since the Live Slicer last received a Nielsen watermark before triggering failover. Key information:
|
Processing queue |
Determines how many packets may be queued to be read by the Live Slicer before triggering failover. Key information:
|
SCTE last seen |
Determines the length of time that may elapse since the Live Slicer last received a SCTE 35/104 signal before triggering failover. |
Static audio |
Determines the length of time during which static audio is detected before triggering failover. Static audio is detected by analyzing the audio's loudness percentage over the last few seconds. This metric ignores periods of silence. |
Static video |
Determines the length of time during which static video (e.g., green screen, color bars, or a frozen frame) is detected before triggering failover. Static video is detected by analyzing the video's average luminosity percentage over the last few seconds. |
TR 101 290 P1 errors |
Requires a UDP source and Live Slicer version 22083100 or higher Determines the number of first priority errors that may occur before triggering failover. A first priority error occurs when a Digital Video Broadcasting (DVB) measurement test identifies an issue that may prevent the MPEG-2 Transport Stream (TS) from being decoded. The parameters that are evaluated for this test are defined within an ETSI technical report (ETSI TR 101 290). |
TR 101 290 P2 errors |
Requires a UDP source and Live Slicer version 22083100 or higher Determines the number of second priority errors that may occur before triggering failover. A second priority error occurs when a Digital Video Broadcasting (DVB) measurement test identifies an issue with a parameter that should be continuously monitored. The parameters that are evaluated for this test are defined within an ETSI technical report (ETSI TR 101 290). |
Upload queue |
Determines how many slices may be queued for upload before triggering failover. A value higher than 2 may be indicative of Live Slicer connectivity issues. |
Video loss |
Determines the length of time during which video is not detected before triggering failover. Loss of video is assessed according to whether a video packet identifier (PID) is detected in the live stream. |
Minimize slate upon Live Slicer failover by setting at least one backup Live Slicer to hot mode. The available modes are described below.
# Hot Backup(s): This mode balances the viewer's experience with cost saving by allowing one or more backup Live Slicers within a failover group to encode and store content. Using this mode allows near instantaneous failover to the designated number of hot backup Live Slicers. However, a viewer may experience a slight amount of discontinuity since those Live Slicers are not synched.
If your failover group contains additional backup Live Slicers, then they will operate in warm mode. This means that they are allowed to slice content (i.e, Slicing state). However, they are not allowed to upload that content to our system while in this mode.
Failover workflow:
Failover mode determines how our system chooses which Live Slicer will serve as a source for your live stream. Each failover mode is described below.
Prioritized: This mode allows you to define a failover order for your Live Slicers. The source for your live stream is the Live Slicer with the highest priority, provided that it is healthy. If it is unhealthy, then our system will use the Live Slicer with the next highest priority.
The Auto Failback option determines whether to switch back to a higher priority Live Slicer when it resumes a healthy state.
You may temporarily prevent our system from failing over to a specific Live Slicer by disabling its availability status.
A Live Slicer's availability status only affects failover. It does not prevent the Live Slicer from slicing and encoding your content.
To set up Live Slicer failover for one or more live channel(s)
From the Hot-Warm Mode option, determine whether backup live slicers will run in hot or warm mode.
The recommended mode is 1 Hot Backups. This mode ensures an optimal viewing experience by allowing our service to quickly switch your video feed to a hot backup Live Slicer when your primary Live Slicer experiences issues.
Identify the set of Live Slicers that will be added to this failover group. Segregate them into the following categories:
Add the desired unassigned Live Slicers to this failover group.
It is important to add Live Slicers to a failover group in 2 stages. Add unassigned Live Slicers in the first stage. Once the live channel has failed over to a Live Slicer within your failover group, you should add the Live Slicer that was previously assigned to the live channel. The purpose of this 2-step approach is to avoid streaming slate to your live viewers.
Prioritized Failover Mode
Order the Live Slicers in this failover group from highest to lowest priority. Drag a Live Slicer to the desired position by hovering over it and then dragging its icon.
Add the desired live channel(s) to this failover group.
Determine the conditions under which a Live Slicer is considered healthy by performing the following steps:
Determine which metrics will trigger failover and set their failover and recovery thresholds.
For each enabled metric, define the conditions that will trigger failover. Metric configuration varies according to whether a metric toggles between two states or if it performs measurements.
States
Measurements
Perform the following steps for each Live Slicer associated with this failover group:
Set the failover_id setting to the failover group ID copied in step 11.
Add one of the following settings:
Live Slicer version 21071400 or higher
Insert the enable_remote_config setting after the failover_id setting.
Live Slicer version 21070801 or lower
Insert the remote setting after the failover_id setting.
Review your Live Slicer configuration file. It should now look similar to the following example:
description: Live Capture
username: joe@example.com
apikey: abcDEFghiJKLmnoPQRtuvWXYz123ABCdefGHIJKL
slicerID: slicer1234
failover_id: 1232b8646dea4cd0a48f5e0ffaa4f8c7
enable_remote_config: 1
...
Wait until the live channel fails over to a Live Slicer in your failover group. This may take a few minutes.
Applying a failover group to a live channel allows our system to determine which Live Slicer should be assigned to it. Upon failover, our system will disassociate the Live Slicer currently assigned to the live channel. You should add this Live Slicer to your failover group as indicated in the next step.
Add the Live Slicer that was previously assigned to your live channel to the failover group. Repeat this step for each live channel associated with the failover group.
If the failover group uses prioritized failover mode, then you should ensure that these Live Slicer(s) are prioritized over other Live Slicers in your failover group.
Perform step 13 for the Live Slicer(s) added in the previous step.
If the failover group uses prioritized failover mode and these Live Slicers have been prioritized, then the system will failover to the Live Slicer with the highest priority within a few minutes.
To modify a failover group
Perform one or more of the following changes:
Determine whether the system may failover to a Live Slicer by toggling its availability status between enabled () and disabled ().
It may take a minute or two before newly enabled Live Slicers are available for failover.
Remove Live Slicers from this failover group.
Add live channel(s) to this failover group.
Reassign a Live Slicer to a different failover group by first removing it from its current failover group.
Remove live channels from this failover group.
To delete a failover group
Publish failover events through the following workflow:
Get started with Amazon SNS for free through its SNS free tier.
Learn more.
Our service formats data using JSON. This data may then be filtered via custom code. This article explains how to strip out additional data generated by Amazon SNS via a custom function in Amazon Lambda.
Perform the following steps to set up notifications:
Our service pushes Live Slicer health and failover notifications to the same Amazon SNS topic. You may skip this step if you have already created an Amazon SNS topic for Live Slicer health notifications.
Configure communication between our service and Amazon SNS.
Our service pushes Live Slicer health and failover notifications to the same Amazon SNS topic. This means that updating the SNS topic for either Live Slicer health or failover notifications will affect both types of notifications.
Navigate to the Failover page.
Configure Amazon SNS to broadcast notifications to the desired destination(s).
Learn how to set up Amazon SNS and Lambda to broadcast notifications to a Slack channel.
Our service sends information that describes a failover event in JSON format. Key parameters in this notification are described below.
Field | Description |
---|---|
Subject |
Returns Slicer Failover Notification. |
Message |
Provides detailed information about the Failover event. Key parameters are described below.
Example: "{\"Service\": \"failover\", \"Sender\": \"failover\", \"Account\": \"joe@example.com\", \"OID\": \"1ab0812e54f44b029bcae08685f025cc\", \"FO_Group_Name\": \"My failover group\", \"FO_Group_ID\": \"f18b0d3f6393428f9aca3815a17f663e\", \"Channels\": [\"Basketball\", \"News\"], \"Date_Time\": 1667834461149, \"Original_Slicer\": \"bball_slicer_1\", \"Slicer\": \"bball_slicer_2\", \"Reason\": \"added to denylist: Not seen since 2022-11-07 15:21:06\", \"Slicers_In_Group\": {\"bball_slicer_1\": \"Active\", \"bball_slicer_2\": \"Hot\"}}"
|