Documentation Index
Fetch the complete documentation index at: https://gcore.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
About restreams
Restreams is a feature that helps to broadcast your live stream or playlists to external video platforms like YouTube, Facebook, Twitch, and other RTMP, RTMPS, or SRT target points.
How restreams work
You get the credentials from the target platform or target media server: stream URL and stream key, or an SRT target URL. Then create a restream in the Gcore Customer Portal. When creating the restream, add the target URL and choose the appropriate live stream. The setup is complete. You can begin the live stream; it will be broadcast on our player and the target platform or server. Here’s how retransmission looks schematically: one stream at the input, many restreams at the output:Supported restreaming combinations:
- RTMP → RTMP
- RTMPS → RTMPS
- RTMP → SRT
- SRT → SRT
- SRT → RTMP
mode=caller is supported. Gcore initiates the outbound connection to the external SRT or RTMP target point, so restreaming works as a PUSH from Gcore to your destination.When to use RTMP or SRT targets
Use RTMP or RTMPS for social platforms and short, stable network paths where the destination requires RTMP ingest. It’s a common, useful, and well-known protocol for sending master-streams, if it satisfies your requirements then use it. For cross-country and cross-continental delivery where RTMP can become unstable, switching to SRT ensures stable retransmission. Also, SRT allows you to tune the recovery window explicitly withlatency. For more details, see RTMP vs SRT.
RTMP target URL format
For RTMP and RTMPS targets, enter the URL and stream key as follows:
- rtmp://a.rtmp.youtube.com/live2 is the URL
- / is the connecting symbol
- ab123-cde4-f56g-hi78-90j is the KEY
SRT target URL parameters
For SRT restreams, add the parameters required by your target point directly to the SRT URL query string. Common parameters include:mode=callerlatencysend_buffer_sizepkt_sizepassphrasestreamid
latency enough to cover round-trip time, jitter, and packet recovery. For example, a 2.5-second SRT latency window is written as latency=2500000 in FFmpeg-style SRT URLs.
Configure a restream
1. Get credentials from the target platform or media server for the restream. Our guides for popular platforms describe how to do it: Facebook, YouTube and Twitch. For SRT targets, get the SRT host, port, and any required query parameters from the target media server administrator. For example, we want to broadcast our live stream on YouTube. To do so, we should go to YouTube and click Go live. Then select a Streaming software solution. There we will need the credentials of stream URL and stream key. We will use them in step 5 of this guide. In YouTube Studio, open the live stream you created. The stream key appears in the upper-right corner, where you can copy it by clicking Copy.




Multiple restreaming
Technically, the number of restreams is not limited. By default, we enable one available restream per account. If you want to use more than one, contact technical support and specify the number of restreams. We will notify you when the feature is activated. After that, you will be able to use it for your account.Restream failover
Just like for regular streams, restreams have a failover algorithm too. If there is a problem getting the original stream, it will be re-requested multiple times. Restream retry algorithm:- Original stream is active
- If the original stream is unavailable and is down for more than ±3 seconds:
- The system will activate the retry mechanism.
- The system will attempt to re-request (PULL) the original stream for approximately 60 minutes.
- If original stream is back, the timer is reset to zero and the restream is restored.
- Otherwise the restream stops permanently. To resume it, you will have to activate it manually or via API.
Restream troubleshooting
RTMP targets
The main risk with RTMP targets is that the destination can terminate the stream when delivery becomes too slow or unstable. RTMP works best for short, stable paths and moderate bitrates. For public internet restreaming, a practical bitrate is usually around 1-3 Mbps, depending on route quality and the target server. If a restreamed stream’s bitrate is higher than 5 Mbps you can face with stream interruptions. If the problem is caused by latency, jitter, packet loss, or insufficient bandwidth on a long-distance route, use SRT instead of RTMP. Typical comb with packet loss in RTMP for long distance:
SRT targets
Common Issues- Wrong SRT mode: Gcore supports only
mode=callerfor SRT restream targets. The destination must listen for the incoming SRT connection. - Latency is too low for the route: Long-distance paths can have high RTT, jitter, or packet loss. If
latencyis too low, retransmitted packets can arrive too late and the target may report TS loss, service loss, or dejitter buffer resets. - Target bandwidth is lower than the source bitrate: Restreaming sends the source stream as is. If the target site cannot reliably receive an 11 Mbps source, use a lower-bitrate source or create a separate transcoded stream for that destination.
- Firewall or UDP filtering: SRT uses UDP, so the target host and network must allow inbound UDP on the configured SRT port.
- Encryption parameter mismatch: If the target requires encryption,
passphraseand related parameters such aspbkeylenmust match the target configuration.
- Use
mode=callerin the SRT target URL. - Increase
latency2-3 or more seconds for long public internet routes and test under real traffic conditions. - Confirm that the target can receive the full source bitrate without sustained packet drops.
- Verify UDP reachability to the target SRT port.
- Match all required target parameters, including
streamid,passphrase,pbkeylen,pkt_size, and buffer settings.
- Expired or invalid stream key/token
The RTMP connection is rejected if the event is marked as finished in the Facebook UI or if the token/stream key has been regenerated. - Keyframe interval exceeds 4 seconds
Facebook enforces a maximum GOP size of 4 seconds; exceeding this value results in rejection. - Unstable or insufficient bitrate
Significant bitrate drops may cause Facebook to terminate the stream. - Incorrect event configuration
Using an outdated or incorrect stream key leads to immediate connection failure.
- Confirm the stream key is active and the event is in Live or Preview state.
- Set keyframe interval to 2 seconds (recommended) or 4 seconds (maximum).
- Maintain a stable, constant bitrate.
- Update stream keys after Facebook regenerates them.
- Verify correct ingest server selection.
YouTube
Common Issues- Invalid stream key or inactive event
YouTube rejects connections when the key is incorrect or the event is not yet open. - Unsupported codec or profile
YouTube requires H.264 (Baseline/Main/High) and AAC audio. - Unstable input bitrate
Bitrate drops cause buffering and disconnects. - High keyframe interval
YouTube recommends a GOP of 2 seconds.
- Verify the stream key and event status before connecting.
- Use standard H.264 + AAC encoding.
- Keep keyframe interval at 2 seconds.
- Ensure encoder output is stable and avoids bitrate spikes.
- Enable low-latency only if supported reliably by your pipeline.
Twitch
Common Issues- Rate limiting or ingest overload
Frequent connection attempts may trigger temporary limits. - Excessive bitrate for account type
Twitch generally recommends a maximum of 6,000 Kbps for non-partners. - Unsupported codec settings
Twitch requires H.264 + AAC. - Disconnects due to unstable upstream
Twitch is sensitive to jitter and packet loss.
- Follow Twitch bitrate and profile recommendations.
- Use a 2-second keyframe interval.
- Select the closest ingest server.
- Reduce connection retries to avoid rate limiting.
- Use CBR and ensure stable network paths.
Other Social Platforms
Common Issues- Stream keys are frequently rotated.
- Strict GOP/keyframe interval requirements (often 2 seconds).
- Dynamic regional ingest endpoints.
- Some platforms accept only RTMP or specific RTMP variants.
- Validate the latest stream key before restreaming.
- Use a standard 2-second keyframe interval unless specified otherwise.
- Maintain consistent bitrate and resolution.
- Review platform-specific RTMP error codes for precise causes.