Create restream
Creates a new restream for a specified live stream.
Specify the target platform’s URI (RTMP, RTMPS, or SRT) and the ID of the source stream.
Restreaming allows you to broadcast a single live stream to multiple platforms or servers simultaneously (e.g., Facebook, YouTube, or a custom media server).
How it works:
- Get credentials (stream URL/key or SRT URL) from the target platform.
- Create a restream in the Gcore system by specifying the target URI and the source live stream.
- Start your live stream; it will be automatically pushed to the target destination.
+-----------------------+
RTMP/RTMPS | | --------> Facebook (RTMP)
or ------> | Gcore Streaming | --------> YouTube (RTMPS)
SRT | | --------> Media server (SRT)
+-----------------------+ --------> Other RTMP/SRT targets
Supported combinations: RTMP → RTMP, RTMPS → RTMPS, RTMP → SRT, SRT → SRT, SRT → RTMP.
For SRT targets, only mode=caller is supported (Gcore initiates a PUSH connection).
Source stream parameters (bitrate, codecs, resolution) are sent “as is”. Ensure they match the destination requirements.
For SRT restreams, specify &latency=N explicitly in the SRT target URL instead of relying on a default value. It helps size the recovery buffer for round-trip time, jitter, and packet loss on the route to the target site.
Selecting the right latency is crucial for delivering a smooth live stream. It depends on the geographic distance and network conditions between Gcore and your target platform, especially if they located on different continents.
| Network Conditions | Recommended Latency |
|-------------------------|---------------------|
| Cross-region | 1-2 seconds |
| Public internet | 2-5 seconds |
Your target SRT server can accept latency format in seconds, milliseconds, or microseconds. Find out what format your target SRT server accepts in its documentation.
Learn more about SRT latency in product documentation.
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.
Authorizations
API key for authentication. Make sure to include the word apikey, followed by a single space and then your token.
Example: apikey 1234$abcdef
Body
{
"name": "first restream",
"active": true,
"uri": "rtmp://a.rtmp.youtube.com/live/k17a-13s8",
"stream_id": 20,
"client_user_id": 10
}