DEV Community

Man yin Mandy Wong for Tencent Cloud

Posted on

Further Upgrade for Tencent Cloud Streaming Services (CSS) Stream Push

Support for Multi-Path Transfer (CSS) Lite Edition

1. Current network transfer problems

As internet video applications gain momentum, more and more platforms and industries are diving into live streaming, but streamers are faced with some quality problems.

● Transfer lag - The network in outdoor or public areas is unstable, causing packet loss, high latency, or jitter and subsequent stream push and playback lags.

● Packet loss in mobile environments - In 3G, 4G, 5G, and Wi-Fi environments, packet loss will occur at the transport layer due to bit errors at the physical and linkage layers, which doesn't mean congestion.

● Insufficient bandwidth of a single network - The linkage bandwidth of a 3G, 4G, 5G, or Wi-Fi network is insufficient or the network jitters.

● Network switch problems in mobile environments - Mobile network/Wi-Fi switches often occur when streamers are moving around.

In these scenarios, upstream push is prone to lags due to unstable transfer or insufficient bandwidth of a single network, adversely affecting the playback experience.

2. Multi-linkage transfer scheme

Tencent Cloud CSS's multi-linkage transfer scheme allows for transfer over multiple linkages at the same time to improve the reliability and quality of end-to-end transfer, further enhancing the upstream push and playback experience.

The conventional IP-layer scheme is more about routers and gateway servers that support multi-network aggregation. Specifically, data is shared by the sender, substreams are transferred over multiple linkages, and data is then aggregated by the receiver.

This scheme is independent of transport layer protocols. It is compatible with all the existing stream push protocols but requires support from hardware such as routers.

The Tencent Cloud CSS software scheme at the application layer leverages the reliability, anti-jitter, and low-latency capabilities of Tencent Cloud SRT, implements the SRT bonding-based algorithm for multi-path transfer at the transport layer, and is optimized for live streaming media scenarios. In addition, it no longer relies on hardware as long as the sender has multiple ENIs.

3. SDK architecture and usage

Tencent Cloud CSS provides the TMIO SDK for terminals to implement multi-network transfer capabilities.

In general, the widely used stream push protocol RTMP is integrated into products. You can establish a connection through RTMP over SRT and leverage the SRT feature to improve the performance under poor network conditions.

Tmio SDK instructions

Directly integrate the TMIO SDK to replace the transfer module. For detailed directions, see the integration documentation and demo source code.

Proxy mode: The proxy mode can be used as a separate process or integrated into the application. You only need to change the stream push address in the original application code to the local listening address in proxy mode. For example, if the original RTMP stream push address is:

rtmp://{$push_domain}:3570/live/sdk_test?txSecret=38fdd5b9ee9958c3f6e6e6a6dd39ba2b&txTime=6161BC80

Then the stream push address in proxy mode is:

rtmp://0.0.0.0:1935/live/sdk_test?txSecret=38fdd5b9ee9958c3f6e6e6a6dd39ba2b&txTime=6161BC80&txHost={$push_domain}

Read more at: https://www.tencentcloud.com/dynamic/insights/sample-article/100351

Top comments (0)