All Products
Search
Document Center

Intelligent Media Services:Distribute content across regions

Last Updated:Jun 04, 2026

Relay a live stream between Alibaba Cloud regions by connecting two MediaConnect flows over the backbone network.

How it works

Cross-region distribution uses two flows: Flow A in the source region and Flow B in the destination region. The ingest client pushes content to Flow A, which forwards it to Flow B through the Alibaba Cloud network. Receivers pull the stream from Flow B.

The following diagram uses Singapore-to-Germany as an example.

Architecture diagram: Stream ingest client pushes to Flow A (Singapore), which sends the stream to Flow B (Germany/Frankfurt) through the Alibaba Cloud network. Receivers pull the stream from Flow B.

To reach multiple regions, create additional destination flows and connect each one to Flow A.

Prerequisites

Before you begin:

Relay an RTMP stream from Singapore to Germany (Frankfurt)

This example relays an RTMP stream in four steps:

  1. Create Flow A in the source region with a source and an output.

  2. Create Flow B in the destination region and link it to Flow A.

  3. Start both flows.

  4. Push the stream to Flow A and pull it from Flow B.

Step 1: Create Flow A (source region)

  1. Log on to the IMS console. Choose MediaConnect > Flows, and click Create Flow. Create Flow button Example configuration: Click OK. On the flow details page, note the Flow ID — you need it for Flow B. Flow details page showing the Flow ID

    • Flow Name: FlowA

    • Region: Singapore

  2. Add a source. On the flow details page, click Add Source Stream. Add Source Stream button In the Add Source panel, configure the following:

    Parameter Example value Description
    Source Name FlowAInput A descriptive name for the source
    Protocol RTMP-PUSH The ingest client pushes the stream to this flow
    Max Bitrate 1000000 bps Maximum allowed bitrate
    IP Address Whitelist (Optional) Allowed sender IP addresses. Leave blank to allow all
  3. Add an output. Click the Outputs tab, then click Add Output. Add Output on the Outputs tab Example configuration: Click OK. Note the output name (FlowAOutput) for use in Flow B.

    • Output Name: FlowAOutput

    • Protocol: RTMP-PULL

Step 2: Create Flow B (destination region)

  1. In the IMS console, click Create Flow. Create Flow B Example configuration: Click OK.

    • Flow Name: FlowB

    • Region: Germany (Frankfurt)

  2. Add a source linked to Flow A. On the flow details page, click Add Source Stream. Add Source Stream for Flow B In the Add Source panel, configure the following:

    Parameter Example value Description
    Source Name FlowBInput A descriptive name for the source
    Protocol Flow Connects Flow B to Flow A
    Flow ID (Flow A's ID) The Flow ID noted in Step 1
    Output Name FlowAOutput The output name noted in Step 1
    Note

    If adding the source fails, verify that the Flow ID and Output Name match the values from Flow A.

  3. Add an output. Click the Outputs tab, then click Add Output. Add Output for Flow B Example configuration:

    Parameter Example value Description
    Output Name FlowBOutput A descriptive name for the output
    Protocol RTMP-PULL Receivers pull the stream from this output
    IP Address Whitelist (Optional) Allowed receiver IP addresses. Leave blank to allow all

Step 3: Start both flows

On each flow's details page, click Start on the Status panel. Both flows must be running before the stream can be relayed.

Start button on the Status panel

Check Flow status for state details.

Step 4: Ingest and play the stream

Push the stream to Flow A

After you configure the source, the system generates a Source URL. Push the stream to this URL.

Source URL on the flow details page

Pull the stream from Flow B

After you configure the output, the system generates an output URL. Receivers pull the stream from this URL.

Output URL on the flow details page

Supported protocol combinations

MediaConnect supports RTMP and SRT protocols. Source and destination flow protocols must be compatible. SRT output options appear in the console only when the source also uses SRT.

  • Flow A input: This example uses RTMP-PUSH. You can also use RTMP-PULL to have Flow A pull the stream from a source URL. Add a source to a flow.

  • Flow B output: This example uses RTMP-PULL. You can also use RTMP-PUSH to have Flow B push the stream to an output URL. Add an output to a flow.

  • Flow A output: When the Flow B input protocol is set to Flow, the Flow A output protocol must be RTMP-PULL.

The following table lists supported protocol combinations.

Flow A input Flow A output Flow B input Flow B output
RTMP-PUSH / RTMP-PULL RTMP-PULL Flow RTMP-PUSH / RTMP-PULL
RTMP-PUSH / RTMP-PULL Flow RTMP-PUSH RTMP-PUSH / RTMP-PULL
SRT-Listener / SRT-Caller SRT-Listener Flow SRT-Listener / SRT-Caller
SRT-Listener / SRT-Caller Flow SRT-Listener SRT-Listener / SRT-Caller