Skip to main content

SRT Ingest

The Secure Reliable Transport (SRT) protocol is a modern, UDP-based streaming protocol designed to ensure low latency, resilience, and secure delivery of live video across unpredictable networks. By combining retransmission, adaptive latency, encryption, and congestion control, SRT offers a robust way to transport real-time media, even over long distances or unstable internet connections.

While SRT is used exclusively as an ingest protocol in nanoStream Cloud, playback is performed via H5Live (ultra-low latency HTML5 playback) or RTMP. This hybrid workflow enables high-quality global ingest while maintaining ultra-low-latency delivery on all platforms.

SRT Playback

SRT playback is currently not supported by nanoStream Cloud.
Please use H5Live Player or RTMP for viewing your live streams.

Before starting

If you don’t have an account yet you can sign up, or get in touch with our sales team via nanocosmos.net/contact or by email at sales(at)nanocosmos.net.

Need help accessing an existing organization or unsure how to proceed?
πŸ‘‰ Check the Authentication section in our docs for step-by-step guidance on creating an account, logging in or requesting access from your system administrator.

Overview​

To use SRT ingest with nanoStream Cloud, you will need an existing Bintu stream inside your organization, or you can create a new one via the REST API/dashboard.

Bintu Streams

If you are new to Bintu streams, refer to the Getting Started: Create a Stream section for details on how to create streams. To learn how to interpret the stream informations, head to the Stream Overview page.

Once you have a stream, your encoder will push an SRT MPEG-TS transport stream containing a single H.264 video channel and optional AAC audio channel. On the server side, nanoStream Cloud processes the ingest and makes it available for playback immediately or through stream groups for ABR (adaptive bitrate) playback.

The following sections walk you through all relevant details: supported formats, ingest addresses, SRT stream IDs, encoder parameters, and best practices for live streaming.

Ingest​

When you publish a stream via SRT, your encoder (e.g., OBS Studio, vMix, hardware encoders) sends MPEG-TS over SRT to one of the nanoStream Cloud ingest domains. The system automatically distributes load and routes ingest to the appropriate data center unless you explicitly choose a region.

Supported Formats and Codecs​

SRT ingest in nanoStream Cloud expects a clean, single-track MPEG-TS feed. This ensures consistent decoding, stable transcoding workflows, and reliable global delivery.

SettingSpecification
Stream formatMPEG-TS
Track countSingle video track and/or single audio track
Video codecH.264 (recommended baseline profile settings for broad compatibility)
Audio codecAAC (LC preferred for universal playback support)

It is strongly recommended to avoid sending multiple video or audio tracks, as they can cause playback issues or ingest rejection. Hardware encoders, OBS, and vMix all support this minimal setup natively.

Multi Bitrate Stream

If your organization has the live transcoding feature enabled, you can use SRT ingest as the passthrough source for creating multi-bitrate renditions. No additional configuration is needed on the encoder side.

To learn more about how Adaptive Bitrate and live transcoding work, visit our dedicated page: Understanding ABR & Transcoding.

Server Domains and Port​

Your SRT encoder connects to one of the following ingest domains. The global domain is recommended for most users, as it automatically routes your ingest to the nearest available region. If you experience connectivity issues or want to explicitly test a region, you may override the domain.

RegionDomain
Global (recommended)bintu-srt.nanocosmos.de
Asiabintu-srt-as.nanocosmos.de
Europebintu-srt-eu.nanocosmos.de
North Americabintu-srt-us.nanocosmos.de
South Americabintu-srt-sa.nanocosmos.de
Port5000

If you are unsure which domain to use, we recommend starting with the global ingest server.

Debugging routing issues

For debugging routing issues, refer to the Network Diagnostics page.

SRT Stream ID​

Every SRT ingest requires a stream ID, which identifies the target Bintu stream inside nanoStream Cloud.

SRT stream id format definition: prefix:streamname[:postfix]

  • prefix: push for ingest or publish action
  • streamname: existing Bintu stream name in the format XXXXX-YYYYY
  • suffix: record to enable VOD recording of a live stream (optional)
Stream ID Examples

Replace XXXXX-YYYYY with an existing Bintu stream name.

  • Basic SRT ingest: push:XXXXX-YYYYY
  • Enable live recording (VOD output): push:XXXXX-YYYYY:record
  • Push streamname with parameters: push:XXXXX-YYYYY?param1=one&param2=two
  • Push with streamname parameters and VOD recording: push:XXXXX-YYYYY?param1=one&param2=two:record

Some applications, such as OBS Studio, may require URL-encoded arguments when stream name parameters are included. See the following examples, to understand the application:

  • Push with URL encoded stream id: push%3AXXXXX-YYYYY%3Fparam1%3Done%26param2%3Dtwo
  • Push with URL encoded stream name parameters: push:XXXXX-YYYYY%3Fparam1%3Done%26param2%3Dtwo
  • Push with URL encoded stream name parameters and VOD recording: push:XXXXX-YYYYY%3Fparam1%3Done%26param2%3Dtwo:record
Stream ID limitations

The SRT protocol defines strict limitations for stream ID structure:

  • Maximum length: 512 characters
  • Allowed characters: a-z, A-Z, 0-9, ?, &, =, -, _, ,, :
  • The colon : is only permitted as a delimiter, not inside stream names or parameter values
  • Percent sign % is only allowed in the context of URL encoding.

These rules are enforced by both encoder applications and the nanoStream Cloud ingest layer. Violating them may result in connection failure or invalid stream routing.

Ingest Parameters​

SRT ingest must include several important configuration parameters to ensure stable connectivity:

ParameterRecommended
SRT modecaller
Transmission typelive
LatencyDefault: 500 ms (smoother transmission under unstable network conditions)
TimeoutRecommended: 1 second (helps prevent connect issues when high RTT occurs)
Stream IDMust follow the format described in SRT Stream ID

A higher latency buffer offers more protection against packet loss and jitter. For long-distance transmissions or mobile networks, you can gradually increase the latency if needed.

Example of Setup using OBS Studio​

OBS Studio is able to support SRT streaming starting from version 25.0 and has the flexibility of fine tuning capabilities. It expects latency and timeout values in microseconds, so note the conversion:

  • 500 ms β†’ 500000
  • 1 second β†’ 1000000
Additional Ressources

For more details, you can consult the official OBS SRT Protocol Streaming Guide under obsproject.com/de/kb/srt-protocol-streaming-guide#stream-with-srt.

If you are new to ingesting with OBS (or any encoder), our Getting Started guide offers step-by-step instructions: Start a Stream.

These resources help you understand how to prepare the encoder side correctly.

Ingest Address​

Replace XXXXX-YYYYY with an existing Bintu stream name.

Setup server with:

srt://bintu-srt.nanocosmos.de:5000?mode=caller&latency=500000&timeout=1000000&transtype=live&streamid=push:XXXXX-YYYYY

Screenshot: OBS Server Setup For Global Domain (recommended) Screenshot: OBS Server Setup For Global Domain (recommended)

Europe Domain​

Setup server with:

srt://bintu-srt-eu.nanocosmos.de:5000?mode=caller&latency=500000&timeout=1000000&transtype=live&streamid=push:XXXXX-YYYYY

Screenshot: OBS Server Setup For Europe Domain Screenshot: OBS Server Setup For Europe Domain

North America Domain​

Setup server with:

srt://bintu-srt-us.nanocosmos.de:5000?mode=caller&latency=500000&timeout=1000000&transtype=live&streamid=push:XXXXX-YYYYY

Screenshot: OBS Server Setup For North America Domain Screenshot: OBS Server Setup For North America Domain

South America Domain​

Setup server with:

srt://bintu-srt-sa.nanocosmos.de:5000?mode=caller&latency=500000&timeout=1000000&transtype=live&streamid=push:XXXXX-YYYYY

Screenshot: OBS Server Setup For South America Domain Screenshot: OBS Server Setup For South America Domain

Playback​

SRT playback is not available. Instead, nanoStream Cloud provides ultra-low-latency playback using the H5live Player, and standard RTMP protocol playback for compatibility with desktop tools.

Using H5Live Player​

For a single bitrate stream:

https://demo.nanocosmos.de/nanoplayer/release/nanoplayer.html?entry.rtmp.streamname=XXXXX-YYYYY

For ABR playback, you can setup a stream group on the nanoStream Cloud Dashboard via dashboard.nanostream.cloud/

RTMP​

You can view your stream via RTMP using any RTMP-compatible player. An example using ffplay:

ffplay rtmp://bintu-play.nanocosmos.de/play/XXXXX-YYYYY

This is useful for testing or debugging without embedding a player.