Using QUIC for Live Streaming

Last updated: 2021-07-05 19:58:24

QUIC (Quick UDP Internet Connections) is a next-generation transport layer network protocol over UDP and designed by Google. In 2018, IETF decided to make QUIC a worldwide standard of HTTP/3 network. QUIC outperforms TCP in data transport scenarios with poor network and high packet loss rate.

Currently, Tencent Video Cloud supports using the QUIC protocol for live push and live pull.

Supported Versions

CSS supports QUIC v39, v41, v42, v43, v44.

Note:

QUIC v43 is recommended.

Notes

To use QUIC for pull, please submit a ticket to require Tencent Cloud to allow pull using QUIC protocol via corresponding pull domain names.

Live Push

How to push

Live push supports using the RTMP over QUIC protocol to push streams via UDP port 1935. Same as using the RTMP over TCP protocol, you can use the Address Generator to generate a push URL in the CSS console.

Push streams in either of the following ways:

  • Use Tencent Cloud MLVB SDK: same as when the RTMP over TCP protocol is used, the SDK will use QUIC protocol to push streams to Tencent Cloud.
  • Use your own QUIC client: you can use a standard push URL to push using the QUIC protocol. The push URLs using the RTMP over QUIC protocol and RTMP over TCP protocol are the same. The former will connect to Tencent Cloud’s QUIC push server.

Live Pull

How to pull

Live pull supports using the HTTP over QUIC protocol to pull streams via UDP port 443. Same as using the HTTP-FLV protocol, you can use the Address Generator to generate a pull URL in the CSS console.

Pull test

You can use the Tencent Cloud TCPlayerDemo to test the pull.

Note:

Chrome supports QUIC protocol requests, so you can use Tencent Cloud TCPlayerDemo in the Chrome browser to verify whether the QUIC protocol is used for playback.

  1. Enable QUIC protocol in the Chrome browser.
    Enter chrome://flags/#enable-quic in the Chrome address bar, select Enabled for Experimental QUIC protocol, and restart Chrome.

  2. Open TCPlayerDemo. You’re advised to enter an FLV or HLS pull URL as the HTTPS playback URL. You cannot use an RTMP URL as it can only be played back on the Flash player. Click to start the playback.

  3. Click the Network tab in Chrome’s Developer Tools. You will see that the protocol for the request is http/2+quic/46.

Note:

  • The QUIC version may vary depending on the browser version.
  • If Protocol is not displayed, you can right-click and select Protocol to display it.