Use case · Live video

Stream to multiple platforms at once from one upload

To stream to multiple platforms at once, send one feed to a server and let the server push a copy to each platform: your uplink then carries one stream instead of one per destination. Three destinations at 6,000 kbit/s cost about 18.4 Mbit/s of upload when the encoder sends them all, and about 6.1 Mbit/s when it sends one. This page does the arithmetic, sets one encoder profile that YouTube, Twitch and Facebook all accept, and wires it up.

Set up the channel

The upload bill, destination by destination

An RTMP push is one TCP connection carrying one encoded stream. If the encoder pushes to three platforms itself, it holds three connections and the uplink carries three full copies. The audio rides with every copy, so the cost per destination is video bitrate plus audio bitrate.

Profile per copy1 destination3 destinations from home5 destinations from home
720p30: 3,000 + 128 kbit/s3.1 Mbit/s9.4 Mbit/s15.6 Mbit/s
720p60: 4,500 + 128 kbit/s4.6 Mbit/s13.9 Mbit/s23.1 Mbit/s
1080p60: 6,000 + 128 kbit/s6.1 Mbit/s18.4 Mbit/s30.6 Mbit/s

These are steady rates under CBR, before protocol overhead and before anything else in the building uses the line. Twitch's guidelines put it bluntly: a stable stream beats a higher quality that drops frames. A home connection rated at 20 Mbit/s up will carry the 1080p60 profile to one place comfortably and to three places not at all once a phone starts a backup.

Why the copies belong on a server

  • Upload stays flat. The encoder sends one stream whatever the destination count. Adding a fourth platform costs the uplink nothing.
  • One connection to babysit. A Wi-Fi hiccup drops one session, not three; the platform connections run from a data centre, not from your router.
  • Destinations change mid-show. On our channel, each restream target is switched on or off from the dashboard while the encoder keeps sending.
  • Your own player keeps playing. The channel still has its own player and CDN link, so viewers who never open a social platform watch it there.

The trade: plan on every destination receiving the stream your encoder sends, so choose settings all of them accept. The next section is that profile.

What each platform asks for

Read from each platform's own help page. All three want constant bitrate and a keyframe every 2 seconds; they differ on bitrate and audio.

SettingYouTubeTwitchFacebook
Video codecH.264, H.265 or AV1H.264 (AVC) up to 1080pH.264, Level 4.1 to 1080p30, 4.2 for 1080p60
Rate controlCBRCBRCBR
Keyframes2 s recommended, never over 4 s2 s2 s recommended, 4 s maximum
1080p60 bitrate6 Mbit/s minimum, 17 recommended (H.264)6,000 kbit/s4,500-9,000 kbit/s
720p60 bitrate3 Mbit/s minimum, 8 recommended (H.264)4,500 kbit/s2,250-6,000 kbit/s
AudioAAC or MP3; 128 kbit/s and 44.1 kHz for stereoAAC-LC, 96 kbit/s recommended, 160 maximumAAC-LC stereo, 44.1 or 48 kHz, 128 to 256 kbit/s

Twitch has since announced higher bitrates for streams that use its Enhanced Broadcasting, with 2K (1440p) in HEVC for Partners and Affiliates. Those are encoder-side features of a direct Twitch connection; a single shared feed should stay on the H.264 profile below. Mind the clocks too: Twitch caps a broadcast at 48 hours and Facebook at 8.

One profile all three accept

SettingValueWhy
CodecH.264, High profile, level 4.2 at 1080p60The one video codec all three take; the level Facebook names
Resolution / rate1920x1080 at 60 fps, or 1280x720 at 60 fps on a thin uplinkMatches Twitch's two 60 fps rungs
Bitrate6,000 kbit/s CBR (4,500 for 720p60)Twitch's figure; meets YouTube's minimum; inside Facebook's 1080p60 range
Keyframe interval2 secondsThe one value every page recommends
AudioAAC-LC stereo, 44.1 kHz, 128 kbit/sInside all three ranges

At 30 fps the same logic gives 1080p30 at 6,000 kbit/s: above YouTube's 5 Mbit/s H.264 minimum, which Twitch's own 1080p30 figure of 4,500 would fall short of, and at the top of Facebook's 3,000-6,000 kbit/s range for 1080p30. YouTube's 17 Mbit/s recommendation is for a feed sent to YouTube alone; Twitch's guidelines stop at 6,000 for 1080p.

Wiring it up

  1. Open a channel on our video streaming service. The dashboard prints its encoder settings with a copy button on each line.
  2. Point the encoder at rtmp://ingest.video.serverroom.net/ plus the channel's name, with its stream name, username and password. OBS, vMix, Wirecast and most hardware encoders speak RTMP; on Starter and up SRT is also there for a lossy line.
  3. Set the profile above and send. The Live tab shows whether the encoder is connected, from which address, and the rate it is sending.
  4. Copy the server URL and stream key from each platform's own live dashboard and add them as restream targets in the Live tab: YouTube, Facebook, Twitch or any RTMP address, up to 5.
  5. Switch the targets on one at a time and check each platform's own preview before announcing the stream.

A stream key is a password for your channel on that platform. If one leaks, reset it on the platform and paste the new key into the restream target; on our side, a fresh publish password and a channel restart lock out any encoder you no longer control.

Where it runs

The encoder connects to the nearest of five cities (New York, Miami, San Francisco, Amsterdam, Bucharest) and the stream rides our own links to the channel's server in New York or Bucharest. Every plan restreams, Free among them; plans differ in channels, viewers on our own player and transfer, all listed on the video CDN plans. A one-off broadcast with a large audience is better framed as live event streaming.

For a studio with no PC, the hardware encoders we configure push RTMP straight to the channel.

When this is the wrong tool

  • You need a different encode per platform, such as HEVC to YouTube and H.264 to Twitch. The channel's restream sends one feed to every target; for a separate encode per platform, transcode on a machine of your own, on a dedicated streaming server.
  • Your uplink cannot carry one copy. A server multiplies nothing for you if 6 Mbit/s will not leave the building; drop to 720p, or use SRT where loss is the problem rather than capacity.
  • You want one merged chat. Each platform keeps its own chat and its own analytics.

Questions

Can I stream to YouTube and Twitch at the same time from one encoder?

Yes. Send one RTMP stream (or SRT, on Starter and up) to the channel and add YouTube and Twitch as restream targets in the Live tab. The encoder holds one connection and your uplink carries one copy; the server opens the connection to each platform.

How much upload do I need to multistream?

Sending from home, multiply the destination count by the video bitrate plus the audio bitrate: three platforms at 6,000 + 128 kbit/s need about 18.4 Mbit/s steady. Restreamed from a server, you need one copy, about 6.1 Mbit/s, plus headroom for everything else on the line.

Which keyframe interval works on every platform?

Two seconds. YouTube recommends 2 and says never exceed 4, Facebook recommends 2 with 4 as the limit, and Twitch's settings all use 2. Set it as seconds in the encoder, not as a frame count, if the encoder offers both.

How many destinations can one channel restream to?

Up to 5 at once on every plan, Free included, each with your own keys. The channel's player stays live alongside them.

Do I need a server of my own for this?

No. The channel runs on our streaming servers and the restream is a dashboard setting; there is nothing to install or patch. A whole server is the answer only when you want to run and tune the streaming software yourself.

One upload, five destinations

Open a channel, paste its settings into the encoder, and add your platform keys in the Live tab.

Set up the channel

Related on Server Room

Other use cases