The StreamLive service is managed at the channel level in the StreamLive console. You can set up high-quality video streams and distribute them to various types of devices. The channel management module is the main module of StreamLive, via which you can perform various video processing operations such as transcoding and remuxing and send the results to the specified destination or store them on COS.
Choose Channel Management on the left sidebar and click Create Channel.
Enter a custom channel name, which is used to identify different channels created, and click Next Step.
You can add one or more of the inputs created to the channel. Normally, the first input attached is used by default. Other inputs may be used in failover or if a plan is configured. You can attach up to 5 inputs to a channel, including up to 2 push inputs.
Click Settings to configure an input:
a. Audio Selector: If there are multiple audio streams in your RTP_PUSH/RTP-FEC_PUSH/UDP_PUSH inputs, you can create a selector using the PID encapsulated in MPEG-TS so that you can configure multiple audio languages for outputs.
- The PID must be the same as that of the input audio stream; otherwise, the transcoding task may fail.
- You can configure audio selectors only for the first input attached. If a plan is configured and another input is used instead of the first one, StreamLive will randomly select an audio stream to transcode.
- If input source failover is enabled, the audio selectors configured for the primary input will be automatically applied to the backup input to ensure the availability of the audio encoding feature in case of failover.
b. Pull-Stream Settings: You can select either the LOOP or ONCE mode for MP4_PULL/HLS_PULL inputs. LOOP: the pull loops; ONCE: the input is disconnected after the first pull.
c. Failover Settings: You can enable failover for RTMP_PUSH/RTP_PUSH inputs so that StreamLive switches automatically to the backup input when the primary one fails. After enabling failover for an input, you can select for it a backup input, set a downtime threshold (the wait time after the primary input is down before failover is triggered; 3000 ms by default), and select the input preferences, i.e., whether to switch back to the primary input after it recovers (PRIMARY_PREFERRED: the primary input is prioritized; EQUAL_PREFERRED: the primary and backup inputs have the same priority).
- You can configure only one backup for an input. The primary and backup inputs must be of the same type and attached to the same number of channels.
- Once an input is used as a backup, the failover feature will be disabled for the input automatically, which means that you cannot configure a backup for this input. For modifications (for example, if you want to swap the role of the two inputs), you must disassociate the inputs first.
- After successful configuration, Primary and Backup will appear next to the names of the primary and backup inputs.
- The backup input will appear below the primary input.
In addition to the above, you can also do the following to an input:
a. Configure multiple output groups. You can click the "+" icon to configure multiple output groups for a channel.
b. Set the name and type of an output group. Currently, StreamLive supports outputs in HLS and DASH formats. You can output HLS files to COS for archiving or output HLS/DASH streams to Tencent Cloud's StreamPackage under the same account. This allows you to build your own origin server for stable and large-scale distribution of live streams.
c. Set a CDN streaming address. If an HLS or DASH output is used, you can set the destination to a CDN URL. Enter the verification information if the URL requires verification.
d. Configure segments. Set the segment duration and quantity in your "manifest" file. If you want to insert UTC time into the tag file, enable PdtInsertion and set PdtDuration (time interval for insertion).
e. Configure DRM. You can use third-party DRM services in StreamLive.
If you select SDMCDRM as the DRM scheme, you need to set the Uid, Secret id, Secret key, and Url fields.
- If you select HLS/HLS_ARCHIVE/HLS_StreamPackage for Output Group Type in Output Group Setting and enable DRM, FairPlay encryption will be used. If you select DASH/DASH_StreamPackage and enable DRM, Widevine encryption will be used.
- FairPlay encryption settings: If you select HLS/HLS_ARCHIVE/HLS_StreamPackage as the output type, FairPlay will be used as the encryption method. You need to enter the FairPlay Content ID (key ID), key, and IV (both key and IV are 32-bit hexadecimal strings).
- Widevine encryption settings: If you select DASH/DASH_StreamPackage as the output type, Widevine will be used as the encryption method. You need to enter the Widevine content ID and set the tracks. Track types include SD, HD, UHD1, UHD2, and AUDIO.
- If you select All Track, you can set the same key ID and key for all five track types.
- You can also click Select Track to set a key ID and key for each track type.
f. Set audio transcoding. You are allowed to configure multiple audio transcoding schemes with one output unit. Create an audio template, specifying the name, transcoding format, bitrate, and audio language. If no audio selector is associated, the default stream in the input will be transcoded. Currently, the bitrate range supported for audio transcoding is 6000-1024000 bps. Language code is a 3-character code for the audio language to use, whose naming follows the ISO 639 standard.
g. Set video transcoding. Create a video template, specifying the name, encoder type (only H264 is supported currently), bitrate (value range: 50000-40000000 bps), resolution, frame rate, etc. Top speed codec transcoding is a high-performance video transcoding service developed by Tencent Cloud. It uses AI algorithms to calculate in real time the optimal encoding parameters based on the business scenario to ensure high-quality transcoding at low bitrate. Bitrate compression ratio is the percentage by which video bitrate is expected to be reduced.
You can enable top speed codec if you want a better codec with smart video compression algorithms. It uses AI algorithms to calculate in real time the optimal encoding parameters based on the business scenario to ensure high-quality transcoding at low bitrate.
h. Assemble outputs by combining the audio and video transcoding templates created. You can enable SCTE-35 to pass SCTE-35 information in HLS or DASH file tags.
i. Click Done to save the configuration.
j. Click Start to run the channel created.
StreamLive allows you to import/export a channel configuration file and clone an existing channel.
All created channels and their states are displayed in Channel Management of the StreamLive console. Click Export in the Operation column to quickly export a JSON file of the channel configuration.
Go to Channel Management and click Create Channel. Click Import Configuration, and select a modified JSON file of channel configuration.
After the import, you will enter the channel editing page. Complete the rest of the configurations and submit them.
- Channel importing is a quick configuration process. Based on the JSON file imported, StreamLive can complete the Basic Information and Output Group Setting steps for you, but not Input Setting. You need to select an input. Therefore, please create a new input in advance if you want to create a channel through channel importing.
- If you import a new configuration file when editing a channel, the existing configurations will be overwritten.
Channel cloning is essentially a quick channel exporting and importing process. Go to Channel Management, and click Clone in the Operation column to clone the channel and enter its configuration page.
StreamLive will complete the channel configurations (except Input Setting) automatically according to the cloned channel. Complete the rest of the configurations and submit them.
A channel in RUNNING state cannot be edited or deleted. To edit or delete it, click Stop to stop it first.
Click a channel in Channel Management to go to its details page, where you can view its input, output, alerts, health, and other information.
If a problem occurs or is likely to occur in any pipeline of a channel, StreamLive will generate an alert for the channel. Set time is the time when the alert is generated, and Cleared time is the time when the alert is cleared. The state of an alert changes. When the alert state is SET, the Set time and State columns are highlighted in red. After an alert is cleared, its state changes to CLEARED, and the highlighting is removed. You can query alert data, including the problematic pipeline, alert type, and other details, for the last 5 days with a time range of less than 24 hours.
The Heath tab displays channel input (bandwidth and input video/audio frame rate) and output (bandwidth) information as well as corresponding charts, which help you determine whether the current channel is working properly. You can query data for the last 5 days with a time range of less than 24 hours.
You can configure plans for StreamLive channels to perform specified events at scheduled time, for example, switch to input2 at 15:00:00.
Under the Channel Management tab, click the name of the channel to go to its details page, select Plan, and click Create Event to add an event.
- The time entered must be the local time and cannot be earlier than the current time.
- If the pull mode for the MP4_PULL/HLS_PULL input that is switched to is ONCE, the input will be disconnected after the first pull, and the event will not be triggered again.
The events created are listed chronologically by trigger time. You can view or delete an existing event as well as create an event.
Events created cannot be modified.
StreamLive also provides a wide range of custom features, as described in the following best practice guidelines: