Support Center Welcome, Guest Login

Broadcast Requirements

Last Updated: Apr 17, 2014 10:40AM PDT
Here at Twitch, we’ve experienced a massive surge in demand for viewing on non-web devices; such as game consoles, tablets, and mobile phones. We want your viewers to be able to watch in all these places, so we’ve made changes to our infrastructure to service this growth.

We require the following settings to be compatible with broadcasting to our site:

Video Requirements
  • Codec: H.264 (x264)
  • Mode: Strict CBR
  • Keyframe Interval: 2 seconds

Audio Requirements
  • Codec: AAC-LC or MP3, Stereo or Mono
  • Maximum bit rate: 160 kbps (AAC), 128 kbps (MP3)
  • Sampling frequency: any (AAC), 44.1 KHz (MP3)

These configurations are already supported and active by default in the latest versions of our most popular broadcast software options.

To help you determine whether your stream settings are compatible, there is an ingest feedback feature on your Broadcast Dashboard.



Note: If you’re running an older version of your broadcasting software, you may have to make a few adjustments. For step-by-step instructions, please see the applicable Knowledge Base articles.
On your Twitch dashboard, your broadcast will be rated on its Stream Configuration Quality. Here are the three ratings and what they mean to you:

​For Partners

Excellent (All video requirements are met)
  • Viewers will have access to the highest quality stream (a non-transcoded passthrough of your broadcast)
  • Your broadcast will be available on mobile and consoles

Acceptable (Just enough video requirements are met)
  • Viewers will only see your resolution options (no direct passthrough to viewer)
  • Your broadcast will be available on mobile and consoles

Incompatible (Important settings are not met)
  • We reserve the right to not continue ingesting your stream, as it can cause severe issues with our video systems.

For Non-Partners
NOTE: We have not yet turned on support for all non-partners to appear on apps. We will update on @TwitchSupport when this is enabled.

Excellent (All video requirements are met)
  • Viewers will have access to the highest quality stream (a non-transcoded passthrough of your broadcast)
  • Your broadcast will be available on mobile and consoles

Acceptable (Just enough video requirements are met)
  • Viewers will have access to a non-transcoded passthrough of your broadcast
  • Your broadcast will NOT be available on mobile and consoles

Incompatible (Important settings are not met)
  • Your stream will continue to be available on the website until August 31st. Starting September 1st, your ingest will be rejected.

If you’re given Acceptable or Incompatible, the dashboard will explain why and link to help as well as display errors which can help you become “Excellent”.

Here are the four errors you can receive and quick ways to fix them.

Video codec must be set to h.264 (it is currently "{codec}" or "unknown")
  • Wait about 30 seconds and refresh to ensure that we have loaded your settings.
  • Set your video codec to h.264 (x264) (AVC)
  • If you see this, you’re probably running a very strange RTMP encoder. Try to adjust the codec in the settings.
  • See if you’re able to adjust the codec in the settings.
  • All the software displayed on http://twitch.tv/broadcast can provide h.264 encoding.

Audio codec must be set to MP3 or AAC (it is currently "{codec}")
  • Only MP3 and AAC are supported in HLS.
  • Be careful as some of the more exotic hardware encoders come with audio codecs that may not play nice with our transcoding and demuxing tools.
  • The software we list on http://twitch.tv/broadcast fully supports MP3 or AAC.

Max keyframe interval is currently at {current} seconds. Please set it to {target} seconds.
  • Means the gaps between their keyframes are too large. This can sometimes be caused by dropped frames, so please check with that before reporting an error with the dashboard checker.
  • In the case of XSplit, there is a setting called max keyframe interval that you can adjust. 
  • In the case of OBS, you need to go to the advanced tab in your settings, and set the keyframe to 2.
  • With more exotic encoders, such as the elemental, you can change the GOP size to create the 2 second keyframe interval state needed (depending on the framerate)

The broadcast is not set to constant bitrate (CBR). [Current average: {avg} kbps, current max: {max} kbps]
  • This means the bitrate we see is fluctuating too much. On average you are transmitting at {avg}, but peaking at {max}, and the difference is large. Enable CBR in your broadcast software accordingly.
  • FMLE does not support CBR encoding. Please switch to software that supports this.