Getting started with Qencode Live Streaming

How it works

Setting up a live stream with Qencode is really simple. Lets see how it works. First, you need an RTMP streaming client application. It can be either any mobile app producing RTMP stream or a desktop one, like OBS. The RTMP stream is pushed to Qencode RTMP-in endpoint, transcoded into different resolutions and packaged in an adaptive bitrate format like HLS, LL-HLS or CMAF for delivery. Packaged ABR stream is distributed via CDN service to end users watching the stream on different devices. You can find detailed description of each step below.

Install Qencode App

1. Create Project for Live Streaming

Qencode requires API keys to generate access tokens that are used to authenticate all of your live stream requests. To get an API Key and create a live stream, you first need to create a Project for live streaming.

2. Get Access Token

Once you have create a Project for live streaming, you can use your API key to get a an access token, which is a session based token used to authenticate all of your live stream requests. To get an access_token, you must provide your API key in the authorization header of the request.

3. Create Live Stream

Once you receive your access token, you can use it to create a live stream that contains all the information you need to start streaming. To create a live stream, you pass the access token in the authorization header of the /v1/live-streams method.

RTMP Streaming

1. Setting up your RTMP client app

There are two params you need to set up your client app: Server URL and Stream key. You can find it in Qencode portal UI on the Stream details page. For RTMP streams Server URL param is the following:

rtmp://rtmp-live.qencode.com/qlive

Specify these params in your streaming client app settings. You can see screenshot of OBS params below:

OBS stream params

That's it! You can start streaming even with this basic setup.

2. Stream encoding params

By default incoming RTMP stream is encoded into HLS output format with H.264 video codec and AAC audio codec.
Maximum output resolution currently supported is Full HD (1920x1080). Maximum output frame rate: 30 frames per second.

3. Output stream playback

Each stream has a unique plyback_id value identifying a playback URL. For HLS output stream playback URL format will be the following:

https://play-<playback_id>/qhls/qlive/playlist.m3u8

You can use any player supporting ABR streams playback.
Using Qencode Player is described here