The Live Stream feature brings a live video feed into Ci, where you can preview, log, share, and record it while the broadcast is still running. Live Stream is available on Company Network accounts and above. Ci supports 4 ingest methods, which fall into two categories — pull, where Ci reaches out and retrieves your feed, and push, where your encoder sends the feed to Ci:
- HLS (Pull) — You supply the URL of an existing HTTP Live Stream and Ci pulls it in. Use this when your stream is already being published somewhere Ci can reach.
- RTMP (Push) — Ci provides a server address and stream key, and your encoder pushes to Ci. This is the most broadly supported option and works with virtually any standard encoder.
- SRT (Push) — Ci provides a target address and port, and your encoder pushes to Ci. Choose SRT when you need a more resilient, secure connection over unpredictable networks such as the public internet.
- SRT (Pull) — You supply the listener address and port where your source is publishing, and Ci connects out to pull the feed over SRT. Use this when you want SRT's resilience but need Ci to initiate the connection — for example, when your encoder is configured as an SRT listener at a fixed, reachable address.
Two things to know before you start:
- Live stream must be ended manually — it does not stop on its own when your source stops sending
- An open stream incurs cost for as long as it runs. See [Ending a Live Stream] for details.
Configuring a Live Stream
In the Workspace view, click the blue + Add New button near the upper-right corner of the page, and select Live stream. Which ever folder you are viewing at the time you start your live stream, this will be the location in which the live stream will generate:
Figure 1: Opening a Live Stream
Upon opening the Live Stream creation modal, you can select 1 of the 4 stream type options as shown in Figure 2. When you create a live stream, you can optimize it for one of two priorities. This setting affects only the live, in-progress viewing experience — it has no impact on the quality of the final recorded asset, which is identical regardless of your choice:
Figure 2: Configuring Live Stream Optimization
Optimize for reduced latency lowers the delay between your source and your live viewers by approximately 50%, keeping the broadcast close to real time. Live quality remains strong for the first 8–12 hours but may begin to degrade beyond that point, with possible stuttering and dropped frames. Select this option for shorter, responsiveness-driven sessions such as interactive reviews or real-time monitoring.
Optimize for longer duration runs at standard latency but maintains consistent live quality for the full length of the stream, regardless of duration. Select this option for extended broadcasts such as all-day events or multi-hour coverage, where stability matters more than minimal delay.
HLS Pull
For HLS Pull, provide an HLS Live Stream URL so that we can pull in the feed for you. Type a name in the Name dialog to identify your stream. This name will be used as the file name of the stream after processing is complete. Next, provide the URL for a live stream that's already running, and Ci will retrieve the feed from it. This is the right choice when your stream is already being broadcast at a location Ci can connect to:
Figure 3: HLS Pull Configuration
RTMP Push
With RTMP Push, your encoder sends the stream directly to Ci. After you create the stream, Ci provides a server address and stream key that you enter into your encoder to begin broadcasting. To set one up, choose RTMP Push, then enter a name for the stream in the Name field — this becomes the file name of the recorded asset once processing is complete. When you're ready, click Create Live Stream (see Figure 4).
Once the stream is created, Ci provides a Server Address and a Stream Key. Enter both into your encoder to start pushing the stream to Ci (see Figure 5):
Figure 4: RTMP Push Configuration pt. 1
Figure 5: RTMP Push Configuration pt. 2
SRT Push
With SRT Push, your encoder sends the stream to Ci over SRT. You define the source and connection parameters up front, and once the stream is created, Ci provides the target address and port to enter into your encoder.
To set one up, choose SRT Push under Select live stream type and enter a name for the stream in the Name field — this becomes the file name of the recorded asset once processing is complete. Then provide the connection details:
-
Source IP Address Range — the address your encoder will send from, entered as a CIDR block (for example,
0.0.0.0/32). This restricts inbound traffic to your source. - Inbound Port — the port Ci listens on. Accepted range is 1024–65535.
- Expected (Max) Bitrate (bits/s) — the maximum bitrate of your stream. Accepted range is 1–200,000,000.
- Desired (Min) Buffer Latency (ms) — the minimum buffer latency for the connection. Accepted range is 100–15,000.
When you're ready, click Create Live Stream (see Figure 6). Ci then provides a Target IP Address and a Port to enter into your encoder to begin pushing the stream (see Figure 7):
Figure 6: SRT Push Configuration pt. 1
Once the SRT stream is created, we will provide you with we will provide you with a target IP address and a Port number:
Figure 7: SRT Push Configuration pt. 2
SRT Pull
With SRT Pull, Ci connects out to your source and pulls the feed in over SRT. Your encoder or origin (such as OBS) acts as the SRT listener, and you provide the address and port Ci should connect to.
Before you begin: Because Ci initiates the connection to your source, your network must allow it in. Open your firewall to permit inbound UDP traffic on the port you specify, and confirm the port isn't blocked upstream. If Ci can't reach the listener, the pull will fail.
To set one up, choose SRT Pull under Select live stream type and enter a name for the stream in the Name field — this becomes the file name of the recorded asset once processing is complete. Then provide the connection details:
-
SRT Listener Address — the IP address or domain where your source is publishing (for example,
192.0.2.0,example.com, orwww.example.com). - SRT Listener Port — the port your source is listening on. Valid range is 1024–65535, excluding 2077 and 2088.
- Minimum Latency (in ms) — the minimum buffer latency for the connection. Valid range is 100–15,000.
- Stream ID (optional) — an identifier sent in clear text, up to 512 characters. Add it only if your source requires one.
Encryption (optional)
SRT Pull supports optional stream encryption. Leave Encryption Type set to None to pull an unencrypted feed, or select an encryption level to secure the connection. Three levels are available: AES-128, AES-192, and AES-256.
When you select any encryption level, a Passphrase is required (minimum 10 characters). The same passphrase must be configured on your source (for example, in OBS) — if the two don't match, the pull will fail.
These settings are independent, so you can use any combination that fits your setup: Stream ID only, encryption only, both, or neither.
When you're ready, click Create Live Stream:
Figure 8: RTMP Live Stream details in the context panel
The asset's thumbnail displays its streaming status. The original status will be "Starting Live Stream", while the stream is acquired. Once the status updates to "Streaming", select the asset to display the action bar:
Figure 9: HLS Live Stream in progress
Click Preview to view the stream.
Figure 10: Preview Live Stream option
You can use the track bar to seek through the stream, and then click Jump to Live to return to live playback.
Figure 11: Live Stream in the preview player
Click End Live to end the stream. Please note that you cannot restart a live stream.
Figure 12: End Live Stream option
Please note that you must manually end the stream when you're finished broadcasting. Live streams are not intended to end when the stream has ended currently such as in the case of RTMP pushes and leaving a stream open beyond any needed time for the stream will result in additional costs. Live Streams end after 24 hours and all streaming setup regardless of if the stream has been sent will incur a cost per hour or per minute.
Figure 13: End Live Stream window
After you end the stream, it will be processed. The asset's thumbnail will display its processing status:
Figure 14: Live Stream Ending status
While the file is processing, you can playback the video that has already streamed and access it through the MediaLog app. Additional actions such as download, sending a MediaBox, and VideoReview are only available after processing is complete.
- Click Launch App and then choose MediaLog to log the clip during streaming. For more information about MediaLog, please visit our MediaLog article.
- Click More and then choose Favorite to mark the stream as a favorite.
- Click More and then choose Rename to edit the name of the stream.
Sharing active Live Streams via MediaBox
Active live streams can be shared securely with external partners and clients via MediaBox. Here's how to do that:
Once a live stream has begun, right-click on the file, hover over Share and select Add to existing MediaBox. Alternatively, you may also select the file and click the Share icon in the blue action bar and follow the same steps:
Figure 15: Adding live stream to a MediaBox
Select one or multiple MediaBoxes to share the live stream and click Add to # MediaBox:
Figure 16: Adding to one MediaBox
Once the live stream has been added, navigate to the MediaBox page and open the MediaBox the stream was added to. You can either double-click the MediaBox or select the MediaBox and click View in the action bar:
Figure 17: Opening MediaBox
Notice that live preview thumbnails for live streams are displayed in the Player, Workspace folder view and MediaBox view:
Figure 18: Live preview thumbnail
MediaBox recipients will be able to view the live stream in the Player simply by double-clicking the file:
Figure 19: Viewing live stream via MediaBox
Once the steam has ended, the file will begin to process. Once the file has finished processing recipients will be able to download the file as long as MediaBox downloads are enabled.
For any additional questions, please reach out to the Ci Customer Success Team by submitting a request here in the Help Center.