Channels¶
Channels are the most essential part of the Quickstream solution. Each channel works as an audio/video stream with one or more inputs and outputs.
Quickstream Node sends the list of configured channels.
Columns description:
- Name - unique name of the channel.
- Type - a type of channel. Currently, supported types are direct and transcoding.
- Channel status - shows the input status of the channel.
- Input source - informs the user whether the channel is currently using Main/Backup input (for Direct channels) or Main/Backup/Emergency input (for Transcoded channels). The input currently in use is marked in orange. You can click unused input if you want to start using it. A red or green dot informs the user whether the input is connected. Please note that transcoded channels always connect to main and backup inputs and keep the connection active all the time. Direct channels only maintain connection to active input, so if you switch to backup, you do not know whether the backup is working.
- Input bitrate - shows the bitrate of the connected input. The bitrate is updated every 30 seconds. The bitrate is unavailable for all input connections, such as SDI or NDI as shown on the picture above.
- Connected - number of connections to the output of the channel.
- Actions - buttons to change the state of the channel or delete it from the configuration.
Channel statuses:
- STOPPED - channel is stopped.
- STARTED - channel is started and working.
- CLOSING - channel is being stopped.
- RECONNECTING - channel was connected, but it disconnected and tried to reconnect.
- CONFIG INCOMPLETE - channel configuration is incomplete and has to be completed to start the channel.
- PROCESS DISCONNECTED - channel engine process is disconnected due to a process crash or restart with "Restart process" button.
Quickstream Node has the following types of channels:
- Direct - This engine type can only work on transport streams in UDP and SRT formats. Stream processing is not CPU intensive. One modern server may process hundreds of streams at the same time.
- Transcoding - This engine fully processes streams, including streaming, switching, decoding, frame stabilization, and encoding with time code generation. It supports all formats and protocols, including SDI, NDI, and RTMP.
Direct¶
In direct mode, packets from the main or backup input source are copied to one or more outputs. In Direct mode, the input can use the main or backup input source; however, the connection is always active to one input simultaneously.
Switch from main to backup may take place if:
- The source bitrate drops below "Bitrate Level [kbps]" for the minimum "Bitrate drop duration (s)"
- The Node fails to connect to the source signal.
- The existing connection drops. This trigger only works for SRT connections.
The switch to the backup connection is active as long as the connection is stable. The system never goes back from main to backup or from backup to main unless trigger criteria are met. Users may manually switch from main to backup or from backup to main by clicking the button in the channel list (input source column) or from the channel details page.
Advantages of Direct channels:
- Low CPU and memory requirements
- Transparency - whatever goes into the input gets out on the output, and the stream manipulation is only done on the network layer
- Lower network load because only one input connection (main or backup) is established at the same time
Disadvantages:
- It is impossible to fix errors in the stream for example, wrong PTS, DTS, etc.
- Switching between sources is causing synchronization drop and is raising alarms on monitoring systems because of PTS, DTS discontinuity
- Output may not be consistent and may change any parameter for example, bitrate, resolution, etc.
- Support only for mpeg-ts-based protocols (UDP, SRT)
Transcoding¶
Unlike Direct channels, Transcoding channels connect to input and always decode both main and backup input streams. The following diagram shows an example of the transcoding channel.
Switching module¶
The switching module is responsible for connecting to the signal sources, decoding signals, and deciding which decoded video frame and audio sample to provide to the Processing module. The switching module automatically selects the source of the signal from one of three sources:
- The Main source is the primary source of the signal.
- The Backup source, if defined, works as a secondary backup source.
- Emergency source works as a last-resort source of the signal. The emergency may be the static screen, black screen, or looped video.
To define your static screens for emergency sources, please upload files to:
/opt/quickstream5/upload/emergency/image
for Quickstream Node for LinuxC:\ProgramData\Quickstream\Quickstream 5\upload\emergency\image
for Quickstream Node for Windows
To define your emergency video file, please upload the video file to:
/opt/quickstream5/upload/emergency/video
for Quickstream Node for LinuxC:\ProgramData\Quickstream\Quickstream 5\upload\emergency\video
for Quickstream Node for Windows
If the main source is not producing frames for the defined time (parameter: Switch time), it will try to get the next frame from the backup source. If the Backup source is not specified or unavailable, it switches to an Emergency source. The source is switched back once the Main or Backup source is available for at least a defined time (parameter: Return time [ms]). If the Emergency source is video, the video is paused after the switchback and waits for the next switch to continue playing.
Processing module¶
The switching module provides video frames and audio samples from different sources to the processing module. The processing module transforms those video frames and audio samples into the defined format to keep the output consistent. The following settings are available.
Video:
- Video scale,
- Frame rate,
- Pixel format,
- Encoding preset (resolution and aspect ratio).
Audio:
- Number of channels,
- Sample rate.
Outputs¶
Each configured channel needs to have at least one configured output. Currently, Quickstream Node (in transcoding channels) supports the following output types/protocols:
- UDP, SRT, Quickstream, Output to file,
- RTMP,
- NDI,
- SDI.
Channel type comparison¶
Advantages¶
Direct | Transcoding |
---|---|
Low CPU consumption. | Consistent output that is independent of input Instant switching between input, backup, and emergency sources |
Low bandwidth consumption for high-availability setups (one connection active - main or backup). | Switching does not cause errors in the output stream. |
No impact on the stream. Whatever comes in, comes out, which means no responsibility for signal correctness. | Support for multiple input and output protocols, including production protocols Emergency video support. |
Disadvantages¶
Direct | Transcoding |
---|---|
Disconnection while switching from main to backup Inability to change stream properties, for example, resolution, bitrate, etc. | High CPU/GPU and memory load for the transcoding process. |
Higher network load because two input connections (main and backup) are always active. |