Clevercast Broadcasting Guidelines

These guidelines help you choose the right broadcasting settings (encoding, bitrate, resolution, framerate, keyframes interval …). In reality, some settings may vary depending on your broadcast soft/hardware, internet speed and type of video content.

Keep in mind that Clevercast does server-side transcoding for adaptive streaming. The video stream you send is used as the highest resolution of the video, but the live stream will also contain other resolutions (= 720p, 480p, 360p and 240p, by default). Clevercast player will dynamically switch to the resolution most suitable for the device that you are using (depending on screen size, bandwidth, CPU/GPU). For an example, see the live streams of our clients Bruzz and Focus & WTV.

After you’ve configured your broadcast, you should test if the live stream is stable (preferably in circumstances similar to the live event). Choose a lower resolution and/or bitrate if the stream isn’t stable. It’s always better to have a stable stream than to push for a higher video quality that might cause you to drop frames or test the limits of your internet connection.

Below are our recommended encoder settings for 1080p en 720p resolutions. If you want to stream higher resolutions (2K or 4K) please contact us.

 

1080p configuration

  • Resolution: 1920×1080
  • Bitrate: 3000 – 6000 kbps
  • Rate Control: CBR if you use Translate at Home, otherwise you can also use VBR
  • Video Framerate* : 25 fps (preferred) or 30 fps
  • Keyframe Interval* : 2 seconds (never 0 or more than 4 seconds)
  • (H.264) Profile: Main or High
  • Audio Samplerate: 48 kHz (preferred)
  • Preset: Quality
  • B-frames: 2

 

720p configuration

  • Resolution: 1280×720
  • Bitrate: 1500 – 4000 kbps
  • Rate Control: CBR if you use Translate at Home, otherwise you can also use VBR
  • Video Framerate* : 25 fps (preferred) or 30 fps
  • Keyframe Interval* : 2 seconds (never 0 or more than 4 seconds)
  • (H.264) Profile: Main or High
  • Audio Samplerate: 48 kHz (preferred)
  • Preset: Quality
  • B-frames: 2

* In case of multilingual live streaming we currently stream with a framerate of 25 fps and keyframe interval of 2 seconds (no matter what framerate your broadcast contains). We strongly recommend to also use a framerate of 25 fps and keyframe interval of 2 seconds in your broadcast. Other framerates may cause the floor audio to go shortly out of sync, if not all frames are delivered to Clevercast in time (eg. network connections, insufficient bandwidth at the event location).

 

Encoding & Connection

Encoding can be taxing on your system. If you can, use GPU encoding (eg NVIDIA NVENC). This will let you broadcast better quality video, without overloading your CPU.

Before you test your broadcast at the event location, you may want to test your connection.

  • Run a speed test at the event location to verify your available upload bandwidth. The resolution and bitrate (see below) you can use depends on the available upload bandwidth.
  • Make sure that your encoder is cabled and has reserved bandwidth if possible. Only use Wifi (or 4/5G) if necessary. Keep in mind that during the event more people will use the network (and Wifi), so the upload bandwidth may also be lower.
  • Also make sure that your broadcast is not blocked by a firewall. If you are using RTMP, you can use our RTMP port tester (which uses Adobe Flash so you need to use a browser that still allows it to run, eg. Firefox).
  • Note that members of the same company should refrain from watching the live stream via their intranet as much as possible. Otherwise the intranet may get congested, which may also disturb the broadcast.

 

Video Settings

The video quality of your live stream depends on a number of elements:

  • Resolution & Bitrate : Resolution refers to the size of a video on a screen: use 1080p for Full HD, 720p for HD. Note that Clevercast also delivers lower resolutions for smaller screens through adaptive streaming. Bitrate is the number of bits you are broadcasting per second. Resolution and bitrate go hand in hand: streaming at a higher resolution takes a higher bitrate. Both are limited by your encoding resources and upload bandwidth. Increasing your bitrate can improve video quality, but only up to a point. Having a stable stream is paramount.
  • Framerate & Keyframe interval: Framerate refers to the number of image frames that are sent per second. Therefore, a higher framerate takes more encoding power. Keyframes are points in the video where the entire frame is sent instead of just the differences from the previous frame. Having a keyframe interval of 2 means that it takes at most 2 seconds for the viewers to catch up to a point where they can properly display the feed. We recommend a framerate of 25 Frames Per Second (FPS) and a keyframe interval of 2 seconds (or 50 frames). If this isn’t possible, you can also use a framerate of 30 FPS instead. The keyframe interval should never be more than 4 seconds.

 

Known issue: starting a Translate@Home event while streaming a still image or animated intro !

There’s a known issue for T@H that only occurs under very specific conditions: if you are broadcasting a still image or animated intro with variable bitrate (VBR) at the time you set your event to preview or started. By broadcasting this type of content with VBR, Clevercast will receive a very low bitrate when the translation rooms are initialized. This may cause the translated audio to be slightly ahead of the original audio.

We are currently working to resolve this issue. In the meantime you should avoid streaming very low bitrates when you set your event to preview or started. You can do this either by broadcasting moving images or by broadcasting with a constant bitrate (CBR) of about 5-6 Mbps (for 1080p).

Note: this issue doesn’t apply if you do multilingual streaming using an RTMP multi-channel or SRT multi-track broadcast!

 

Audio Settings

For a regular live stream, you should broadcast a single audio track in mono or stereo. This is also the case if you’re using Translate at Home.

The Sample Rate should be set to 48 kHz. An Audio Bitrate of 128 kbps will suffice in most circumstances.

For broadcasts with embedded audio streams, see our guides for multiple audio tracks with SRT and multiple audio channels with RTMP.

 

Example: 1080p in OBS Studio (RTMP)

Recommended output settings when live streaming 1080p for Translate at Home

Recommended output settings when live streaming 1080p to Clevercast, NOT for T@H

Recommended video settings for OBS Studio when live streaming 1080p to Clevercast

Recommended video settings for OBS Studio when live streaming 1080p to Clevercast

Recommended audio settings for OBS Studio when live streaming to Clevercast

Remarks:

  • Bitrate also depends on the type of content. For dynamic content (eg sports games) you may need 7000 kbps or more, while 4000 mbps may be sufficient for a typical presentation or talking heads.
  • In case of insufficient bandwidth or insufficient encoder resources, you should reduce the bitrate if the stream is unstable or you’re seeing artifacts (= distortion) in the stream. If necessary, switch to 720p instead.
  • If you have GPU encoding, select NVIDIA / NVENC as your Encoder (in the Output Settings, instead of x264).
  • If you use a machine with GPU or a powerful CPU, you could switch CPU Usage Preset to ‘faster’ or ‘fast’. This should result in better compression

 

Example: 720p in OBS Studio (RTMP)

Recommended output settings when live streaming 720p for Translate at Home

Recommended output settings when live streaming 720p to Clevercast, NOT for T@H

Recommended video settings for OBS Studio when live streaming 720p to Clevercast

Recommended audio settings for OBS Studio when live streaming to Clevercast

Remarks are the same as for the 1080p example.
 

SRT broadcasting

For regular SRT streaming in OBS Studio, we recommend using the streaming output (option 1 in the OBS manual page). For more info on using other encoders (vMix, Makito X), see this post about SRT support in Clevercast.

If you’re using OBS Studio, you should use this method for broadcasting a single audio track, either as regular stream or as the floor audio for Clevercast Translate@Home. You can even use it for streaming two languages, by panning the audio streams L+R in your audio track and setting the Languages per Track in your Clevercast event to 2.

Using the streaming output has some advantages over the custom FFmpeg record output (option 2), which you need to broadcast multiple audio tracks (= for more than 2 languages):

  • the streaming output allows you to make a local recording
  • the streaming output will automatically try to reconnect if necessary (<-> the custom FFmpeg record output may require you to press the ‘Record’ button again)
  • the streaming output uses the regular OBS studio settings. See the screenshots for the Video, Audio and Output menus for RTMP 1080p and 720p above.

The setup is also a lot easier than when you use the custom FFmpeg record output. Just copy the SRT URL from your Clevercast event and paste it in the ‘Server’ control of the Stream menu (see screenshot below). The Output, Video and Audio menu’s should be configured in the same way as for RTMP streaming (see screenshots above).

Recommended Stream settings for OBS Studio when live streaming to Clevercast