Twitch RTMP URL and stream key: rtmp://live.twitch.tv/app
Where Twitch keeps the two values your encoder needs, what the settings around them have to be, and what changes when the same broadcast also goes to YouTube or Kick.
Twitch needs two values from your encoder: an ingest address and a stream key. The address every guide quotes is rtmp://live.twitch.tv/app, and it still works - but it is no longer the address Twitch itself hands out. Ask Twitch's own ingest list and it answers with rtmp://ingest.global-contribute.live-video.net/app, plus a ranked set of regional servers.
That is not a contradiction. live.twitch.tv is a CNAME onto the same network - run dig +short live.twitch.tv and watch it resolve to g.contribute.live-video.net - and both names accept connections on port 1935. What follows is where each value lives, what Twitch expects around them, and which errors only look like a bad address.
Where to find your Twitch stream key and RTMP URL
The key lives in your Creator Dashboard. The address lives in a public list that needs no login.
Copy the key from the Creator Dashboard
It belongs to your channel and does not change unless you reset it.
- Open dashboard.twitch.tv signed in as the channel that will go live.
- Settings → Stream. The first block is Primary Stream key.
- Click Copy. Twitch hides it behind a Show button because it is a password, not an identifier.
- Reset it if it has ever appeared in a screenshot, a Discord message, or a third-party site you no longer use.
Take the address from Twitch's ingest list
Twitch publishes every endpoint as JSON, ranked for wherever you are asking from.
- ingest.twitch.tv/ingests is a plain JSON document - no login, no account.
- Each entry carries
url_templateandurl_template_secure, and thestream_keyplaceholder marks where your key goes. rtmp://ingest.global-contribute.live-video.net/appis the location-agnostic default; regional entries look likertmp://euc10.contribute.live-video.net/app.rtmp://live.twitch.tv/appis the older name for the same network and continues to work.
Paste both into the encoder
Most encoders want the address and the key in separate fields.
- In OBS: Settings → Stream → Service Twitch, then Connect Account or Use Stream Key.
- Anything that is not OBS usually means Service: Custom - address into Server, key into Stream Key.
- Only join them by hand if the field asks for a single URL:
rtmp://ingest.global-contribute.live-video.net/app/YOUR-KEY. - Never paste the joined URL into a field that asked only for the key.
url_template_secure variant - RTMPS on port 443 - when a network blocks 1935. Same ingest, encrypted transport.Set the encoder the way Twitch's guidelines ask
Two of these are enforced by the ingest rather than merely recommended.
- Rate control CBR, not VBR.
- Keyframe Interval 2 seconds - not 'auto'.
- Bitrate 6,000 kbps at 1080p60, less if your upload cannot hold it.
- Encoder x264 at veryfast, or NVENC / AMF / Apple VT if the machine has one.
What the Twitch ingest URL is made of
Joined into one string, the address and key look like this:
rtmp://ingest.global-contribute.live-video.net/app/live_123456789_aBcDeFgHiJkLmNoPqRsrtmp://- the RTMP scheme, port 1935 by default. Thertmps://twin runs on 443 and is the one to use on a restrictive network.ingest.global-contribute.live-video.net- the Ingest Server. Twitch's default; the regional entries swap this host and nothing else./app- the application name. Identical on every Twitch ingest, and on Kick's too, because both sit on the same Amazon IVS contribute network.live_123456789_…- the Stream Key. The number is your channel id, the rest is the secret.
Some encoders take the whole string, others want two fields. On the wire it is the same request either way.
Encoder settings Twitch expects
Twitch's Broadcasting Guidelines are unusually specific - they publish a table per resolution - and the ingest is unforgiving about two of the values.
- Rate control: CBR. The ingest expects a steady rate; VBR is what produces a spiky bitrate chart and a stream that buffers under load.
- Bitrate: 6,000 kbps at 1080p60, 4,500 at 1080p30 and at 720p60, 3,000 at 720p30. Those are Twitch's own published numbers, and they are ceilings rather than targets.
- Keyframe Interval: 2 seconds. A viewer can only join at a keyframe, and irregular ones break the Transcoding ladder.
- *Encoder: x264 between veryfast and medium, profile Main or High*, or NVENC on the Quality preset with 2 B-frames. Twitch publishes both profiles.
- Audio: AAC-LC, stereo or mono. Twitch recommends 96 kbps for maximum compatibility and caps it at 160 kbps; above that there is nothing to gain.
Before blaming the address, check the first and third: an 'auto' keyframe interval and a bitrate above what the line actually holds account for most of the failures below.
What Twitch's rules let you do with that key
The key is yours; where else the same broadcast may go is a policy question, and Twitch answers it in its own Simulcasting Guidelines FAQ.
- Simulcasting is allowed, for everyone. Twitch's guidelines apply to all streamers "unless you have an agreement with Twitch that requires exclusivity" - and if you do breach them, Twitch says it sends a warning before taking any enforcement action.
- The Twitch experience must not be the degraded one. Twitch's own example is shrinking the video or otherwise making its quality worse on Twitch than on the platforms running beside it.
- A broadcast is capped at 48 hours. Twitch states it plainly - "the maximum broadcast length is 48 hours. This cannot be changed" - so a genuinely round-the-clock Twitch channel is not one long stream but a stream that has to come back every two days. Reconnection behaviour after the cap depends on the encoder.
- You may link to your other platforms; you may not drive viewers to them. Links in your bio and panels are explicitly permitted. Actively encouraging viewers to leave for a concurrent livestream is not - and Twitch names the ways it counts: banners, QR codes, broadcast titles, go-live notifications and chat commands. Tools that combine activity from several platforms, chat included, are allowed "for your personal use".
- Twitch Affiliate is what unlocks monetization, and the bar is lower than most guides still say: 25 followers, 4 hours streamed, 4 different streaming days and an average of 3 concurrent viewers, all within the same 30-day window, plus two-factor authentication on the account.
What each platform's rules say about one broadcast reaching Twitch, YouTube and Kick at once is covered in the multistreaming guide.
The errors people actually paste into a search box
Three of these four have nothing to do with the address, which is why changing the address does not fix them.
"Failed to connect to server"
The encoder never reached the ingest. This is a network answer, not a rejected key.
- Try the
rtmps://address on port 443 - 1935 is blocked on many office, campus and hotel networks. - Switch back to Twitch's default ingest if you had pinned a regional one.
- Check that a VPN, firewall or router QoS rule is not holding the connection.
nc -z live.twitch.tv 1935from the same machine answers the question in a second.
"Invalid stream key" or "Failed to authenticate"
The connection reached Twitch and Twitch refused the key. The address is fine.
- Copy the key again - a trailing space is the usual cause.
- Confirm it came from the channel you meant to go live on.
- If the key was reset anywhere, by anyone, the old one died immediately.
- Make sure the joined URL did not end up in the key field.
Dropped frames, or a red bar in the stream health panel
Dropped Frames mean the network could not carry what the encoder produced.
- Drop the bitrate 20% and watch whether the bar clears.
- Use ethernet. Wi-Fi is the most common cause and the hardest to see.
- Return to the default ingest if you pinned a distant one.
- If one destination drops while others stay clean, the route to that ingest is the suspect - not the encoder.
The stream is live but viewers have no quality options
No Transcoding: everyone is watching the source rendition.
- Transcodes are guaranteed for Partners and handed to everyone else only when there is spare capacity.
- Nothing in the encoder settings turns this on.
- Source-only means a viewer on a weak connection has no lower rung to fall to - which is a reason to keep the bitrate sane rather than maximal.
Keeping a Twitch stream live around the clock
Everything above assumes an encoder on a machine you own. That is fine for a session and awkward for a channel meant to be live all the time: the computer has to stay on, the connection has to stay up, and a system update at 04:00 ends the broadcast.
The cloud version uses the same two values in a different place. TheLoops holds your videos, encodes them in a datacentre and connects to the same ingest with the same key. Your own connection uploads the file once and then carries nothing.
Because the encode happens once and the packets are copied - Fan-out - the same broadcast can reach Twitch, YouTube and Kick together without multiplying your upload. Destinations per broadcast run 1 on the free plan, then 3, 6 and 10 as the plans go up; the pricing page has the detail.
Keep a Twitch stream live around the clock
Upload the videos once, paste the key, let it run - on Twitch and on every other platform you hold a key for.
Twitch RTMP questions
rtmp://ingest.global-contribute.live-video.net/app is what Twitch's own ingest list returns as the default. rtmp://live.twitch.tv/app is the older name for the same network - it is a CNAME onto g.contribute.live-video.net - so both reach the same servers. The full ranked list, with an rtmps:// variant of every entry, is public at ingest.twitch.tv/ingests.
Creator Dashboard → Settings → Stream → Primary Stream key, behind a Show button. Copy it rather than transcribing it, and reset it if it has ever been visible on stream: anyone holding it can broadcast to your channel.
Yes. Twitch's Simulcasting Guidelines apply to every streamer unless you hold an agreement with Twitch requiring exclusivity, and YouTube publishes no simulcasting restriction at all. Twitch's conditions: the experience on Twitch must not be the degraded one - their example is worse video quality there than elsewhere - and you must not actively encourage Twitch viewers to leave for a concurrent stream, whether through banners, QR codes, broadcast titles, go-live notifications or chat commands. Linking to your other platforms in your bio or panels is explicitly fine, and so are tools that combine chat from several platforms when they are for your own use.
Yes. Every entry in Twitch's ingest list carries a url_template_secure field with an rtmps:// address, which runs over TLS on port 443. Use it when a network blocks port 1935 - it is the same ingest either way.
6,000 kbps at 1080p60 in Twitch's own guidelines, dropping to 4,500 for 1080p30 and 720p60 and 3,000 for 720p30 - all with CBR and a 2-second keyframe interval. Lower is better than unstable: a bitrate your upload cannot hold produces dropped frames, and non-Partners are not guaranteed transcodes, so viewers have no lower quality to fall back to. The bitrate calculator works it out from your measured upload speed.