How to Configure SRT Ingest in Wowza
Set up SRT ingest in Wowza Streaming Engine or Wowza Video: caller and listener modes, ports, latency, encryption, playback checks and common connection fixes.
SRT (Secure Reliable Transport) lets an encoder send live video to Wowza over unpredictable networks. It recovers lost packets and can encrypt the stream. This guide shows how to receive an SRT feed in Wowza, confirm that it arrives intact, and fix the problems that most often stop the connection.
Before you start
First, confirm which Wowza product you are using, because the setup depends on it. Wowza Streaming Engine is server software that you install and run yourself, on a local machine or a cloud instance. SRT ingest then happens on that server, and you control its ports and firewall. Wowza Video is a hosted service. The stream goes to Wowza's infrastructure, and the connection details come from its web interface or API. Plan features differ, so check that SRT ingest is included in your account or license rather than assuming it.
- A Wowza version that supports SRT. Confirm this in the release notes or documentation for the exact version you run.
- An encoder that can output SRT, such as OBS Studio, FFmpeg or a hardware encoder, sending MPEG-TS over SRT.
- Codecs that your Wowza version accepts and can repackage for your playback formats. H.264 video with AAC audio is the usual safe choice. Check the supported codec list for your release.
- One free UDP port on the receiving side, with permission to open it in the operating system firewall, router or cloud security group.
- A decision on connection mode (listener or caller), plus a shared passphrase and key length if you want encryption.
SRT always pairs a listener with a caller. The listener waits on a port, and the caller connects to it. In the most common setup, Wowza listens and the encoder calls, so only the server needs a reachable public port. Use the reverse arrangement when the encoder sits on a reachable address and the server should pull from it. Rendezvous mode, where both sides call each other, exists for special NAT cases. Use it only if both ends support it.
Step-by-step instructions
Wowza Streaming Engine
- 1. Pick a UDP port that no other service uses. Allow inbound UDP traffic on it in the server firewall and in any router or cloud security group in front of the server. A TCP rule on the same port number will not work, because SRT runs over UDP.
- 2. In Wowza Streaming Engine Manager, open the live application that should receive the feed, or create a new one for testing.
- 3. Add a stream file for the SRT source. Its URI uses the srt scheme followed by a host and port. If Wowza listens, the host is the server's own interface. If Wowza calls, the host is the encoder's address and port.
- 4. Set the SRT options for that stream file: mode, latency, and the passphrase and key length if you use encryption. Property names and where you enter them can differ between releases. Copy them from the Wowza documentation for your version rather than guessing.
- 5. Connect the stream file so Wowza starts listening or calling. Note the stream name, because players will request the stream by that name.
- 6. Configure the encoder with the opposite mode, the same port, and the same passphrase and key length, using MPEG-TS output. In OBS and FFmpeg, SRT options go into query parameters on the output address. The latency parameter there is in microseconds, not milliseconds.
- 7. Start the encoder, then watch the application's incoming streams in the manager to see whether the connection appears.
These changes are easy to undo. You can disconnect or delete the stream file and remove the firewall rule. Wowza Streaming Engine can also connect stream files automatically when the server starts. Turn that on only after a manual test works, so a broken configuration does not keep retrying in the background.
Wowza Video
Create a live stream and choose SRT as the ingest or encoder type, if your plan offers it. The service then shows the connection details to use, such as host, port and passphrase, and a stream ID if one is required. Set your encoder to caller mode and enter those values exactly. If SRT is not offered, check your plan or ask Wowza support. Do not route around the limitation with an unsupported setup.
Choosing a latency value
The SRT latency setting is the buffer each side keeps for retransmitting lost packets. The two ends negotiate the larger of their configured values. Lower latency reduces delay but leaves less time to recover lost packets. A common starting point is several times the round-trip time between encoder and server. Raise the value if the picture breaks up on a lossy link.
Check the output
- Incoming streams: in the application's monitoring view, confirm the stream is listed as active and reports a bitrate. A stream that keeps appearing and disappearing points to a connection or encryption mismatch.
- Playback: open the stream in Wowza's test player or any player that supports one of the application's output formats, such as HLS. Take the playback address from your own server or account configuration rather than building it from memory.
- Stream properties: run ffprobe or a similar tool on the playback stream. Confirm that the codecs, resolution and frame rate match what the encoder sends.
- Logs: Wowza Streaming Engine logs record connection attempts and SRT errors. Check them before changing settings at random.
Keep a few limits in mind when judging the result. Without a transcoder, Wowza passes the encoded video through unchanged, so playback quality cannot exceed what the encoder sent. The delay viewers see is the SRT latency plus encoding, packaging and player buffering, so it will be longer than the SRT setting alone. SRT can only recover packets within its latency window. Losses beyond that still show up as glitches or frozen frames.
Common problems and next steps
- Encoder cannot connect: check that the UDP port is open on every firewall in the path. Make sure one side is a listener and the other a caller, not two of the same. If the server is behind NAT, the caller must target its public address, not a private one.
- Connection is rejected or drops right away: the passphrase or key length differs between the two ends. SRT passphrases must be 10 to 79 characters long, and both sides must use the identical value.
- Stream is listed but will not play, or plays without sound: the codec may not suit the output format. Switch the encoder to H.264 and AAC, or set up transcoding in Wowza.
- Picture stutters or breaks up: increase latency, lower the encoder bitrate, or check the upload bandwidth. Also check the latency units. A value meant as milliseconds but entered in a microsecond field leaves almost no recovery buffer.
- Stream stops after a server restart: the stream file was connected manually and is not set to connect at startup.
- Port already in use: another stream file or service is bound to the same UDP port. Give each SRT source its own port.
Once ingest is stable, consider next steps. Turn on encryption if you tested without it. Add transcoding if viewers need several quality levels. Then automate startup of the stream file so the feed survives restarts.