Ingest and publish an SRT stream with Wowza Streaming Engine

With Wowza Streaming Engine™ 4.7.3 and later, you can ingest Secure Reliable Transport (SRT) streams and deliver the streams to viewers with the Stream Targets feature. This article describes how to configure Wowza Streaming Engine to ingest SRT streams and deliver them to an SRT destination for viewers.

Notes:
  • Wowza Streaming Engine must be installed on Linux or Windows to support SRT streaming.
  • Support for ingesting SRT content with stream files was added to Wowza Streaming Engine 4.7.2, but the full workflow of delivering the stream to SRT destinations requires version 4.7.3 or later.
  • Wowza Streaming Engine supports SRT version 1.4 and earlier, and can only be used to ingest and send MPEG-TS packaged SRT content.
  • If using the Wowza Streaming Engine 4.8.0 or later installer to install a new instance of Wowza Streaming Engine on Windows, you may need to install additional dependencies in order to ingest SRT MediaCaster streams or use the generic SRT stream targets destination to publish an SRT stream. To address this, install the latest version of the Microsoft Visual C++ Redistributable for Visual Studio appropriate to your operating system. This is not an issue for pre-existing installations of Wowza Streaming Engine that are updated to Wowza Streaming Engine 4.8.0 or later.

Configure Wowza Streaming Engine to ingest the SRT stream 


To ingest an SRT stream, you must create a stream file that's configured with SRT-specific properties. When ingesting the stream, Wowza Streaming Engine functions in SRT listener mode when establishing a handshake with a peer. 

  1. First, follow the instructions in Create and use .stream files in Wowza Streaming Engine to create the stream file. Note that it is important to use the IP address of the server hosting the SRT stream as the Stream URI.
  2. In Wowza Streaming Engine Manager, click the Application tab at the top of the page, and then click Stream Files in the left panel.
  3. Click the name of the stream file you want to configure in the Stream Files list, and then click the Properties tab.
    Note: Access to the Properties tab is limited to administrators with advanced permissions. For more information about how to configure access, see Manage credentials.
  4. On the Properties tab, there are two sets of properties: Common properties, which can be configured for any stream type, and SRT-specific properties, which are unique for the source stream URI that's specified in the stream file. Depending on how you've configured your SRT stream, you may need to use both sets of properties. For more information, see Specify SRT stream (srt://) settings.

    To enable a property, click Edit and then select the Enabled check box for the property. The property will be enabled with a default value that you can change in the Value box. 
  5. Click Save

Deliver the SRT stream 


There are two ways to output an ingested SRT stream: either you can let Wowza Streaming Engine transmux the SRT stream into a supported playback format or you can use an SRT stream target. 

Wowza Streaming Engine live applications are configured by default to transmux ingested SRT streams into the supported playback types: MPEG-DASH, HLS, RTMP, HDS, Microsoft Smooth Streaming, and RTSP/RTP. This makes it easy to deliver the stream to a variety of players. Even if you choose to use an SRT stream target, you will also have the ability to deliver your SRT stream to viewers using these alternative playback types.

Alternatively, or additionally, you can use the Stream Targets feature in Wowza Streaming Engine. Stream Targets allow you to send live streams to widely distributed destinations. For example, you can send a live stream from Wowza Streaming Engine to any SRT destination and use the SRT destination to deliver the stream to viewers. For more information, see Use SRT to distribute live streams from Wowza Streaming Engine

Test the SRT stream playback


After creating and configuring the .stream file, Wowza Streaming Engine can use the MediaCaster system to re-stream the live SRT stream. MediaCaster can pull the stream that is referenced in a stream file and make it available for streaming to all player technologies supported by Wowza Streaming Engine.

Playback URLs

To test playback, you need the playback URLs for your stream and the playback types, or streaming protocols, you want to test. You can get playback URLs from the Test Playback window in Wowza Streaming Engine Manager or by entering information about the stream on the Video Test Players webpage. For more information about playback URLs, see About playing Wowza Streaming Engine streams.

The Test Playback window generates playback URLs for each protocol based on the page you're on when you click Test Playback. You can also edit the Server (IP address or domain name), Stream or Media File Name, and Application fields to update the playback URLs for all protocols as needed.

Test players

To play your stream, enter the playback URL into your player or a mobile browser, depending on the playback type. To learn more about stream playback, see the Players and Playback articles.

You can also test playback using the Video Test Players webpage. Select the tab for the protocol you want to test and enter the playback URL above the player. Entering the server (IP address or domain name), stream name, application name, and application type (VOD or live) will also generate the playback URLs for each protocol. Click Start to play your stream, and then click Stop when you're ready to end your test.

In playback URLs for stream files, the stream name includes the .stream file extension. For example, to use the HLS protocol to play a stream file named srt.stream, use the following playback URL:
 
http://[address]:1935/live/srt.stream/playlist.m3u8

More resources