Set up live streaming using a native RTP encoder in Wowza Streaming Engine

Configure Wowza Streaming Engine™ media server software to receive a live stream from a native RTP encoder, using an SDP file, and play the live stream over all supported streaming protocols.

Before you start


You should complete the following tasks:

About streaming from native RTP encoders


Native RTP encoders send streams to Wowza Streaming Engine using the Real-time Transport Protocol (RTP). In order to process an RTP stream, Wowza Streaming Engine needs its session description information. This information is typically generated by the native RTP encoder as a Session Description Protocol (.sdp) file that you must upload to Wowza Streaming Engine.

Configure the live streaming application


Live streams are configured and managed in live applications in Wowza Streaming Engine. You can configure a live application in Wowza Streaming Engine Manager or by setting properties in the application's XML configuration file. Both methods produce the same result.

Configure the live application in Wowza Streaming Engine Manager

  1. In Wowza Streaming Engine Manager, click the Applications tab at the top of the page and then select your application in the contents panel.
  2. On the Setup tab of your application's page, make sure all Playback Types are selected.

Note: Every time you edit an application's configuration, Wowza Streaming Engine prompts you to restart the application. However, you can wait until all changes are completed before you restart.

Next, disable playback authentication.

  1. In the contents panel, click Playback Security, and then click Edit.

  1. On the Playback Security page, select No client restrictions, and then click Save.

  2. Restart the application.

The application runs whenever Wowza Streaming Engine is running.

Configure the live application in XML

This section shows you how to configure a live application by editing your application's Application.xml configuration file in a text editor. If you configured a live application in Wowza Streaming Engine Manager, skip this section. 

  1. Navigate to [install-dir]/conf/[application-name] and open Application.xml in a text editor.
  2. In the <Streams> container element, make sure the <StreamType> property is live. The XML looks like this:
    <Streams>
        ...
        <StreamType>live</StreamType>  
        ...
    </Streams>
    
  3. Set the <HTTPStreamers> property for all the HLS and MPEG-DASH streaming protocols. The XML looks like this:
    <HTTPStreamers>cupertinostreaming,mpegdashstreaming</HTTPStreamers>
  4. Set the <LiveStreamPacketizers> property for HLS and MPEG-DASH streaming. The XML looks like this:
    <Streams>
        ...
        <LiveStreamPacketizers>cupertinostreamingpacketizer,mpegdashstreamingpacketizer</LiveStreamPacketizers>
        ...
    </Streams>
    
  5. In the <RTP> container element, make sure playback authentication is disabled by setting the <PlayMethod> property to none. The XML looks like this:
    <RTP>
        <Authentication>
            ...
            <PlayMethod>none</PlayMethod>
        </Authentication>
        ...
    </RTP>
  6. Save your changes and close Application.xml.
  7. Restart Wowza Streaming Engine.

Publish the source stream to Wowza Streaming Engine


  1. Use the native RTP encoder's software or interface to generate a Session Description Protocol (.sdp) file that describes the stream. For help, see the encoder's documentation. Name the file myStream.sdp and copy it to the [install-dir]/content folder on the server that runs Wowza Streaming Engine.
  2. In Wowza Streaming Engine Manager, click Server in the menu bar, click Stream Files in the contents panel, and then click the Connect icon for the myStream.sdp file.

  1. In the Connect a Stream File dialog box, click the Application Name menu and choose your application.
  2. Click the MediaCaster Type menu and choose rtp.


     
  3. Click OK.

The Connection successful notification is displayed.

Test playback


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.

To test playback of the myStream.sdp stream, make sure the native RTP encoder is sending the stream to the live application in Wowza Streaming Engine. In playback URLs for SDP files, the stream name includes the .sdp file extension. For example, to use the HLS protocol to play a stream file named myStream.sdp, use the following playback URL:

http://[address]:1935/live/myStream.sdp/playlist.m3u8

Adaptive bitrate streaming with .sdp streams


HTTP-based adaptive bitrate live streaming requires using an encoder that can generate multiple bitrate streams from the same source with properly aligned keyframes. You also must create a Synchronized Multimedia Integration Language (SMIL) file that links the streams together for playback.

For example, assume that you have three live streams encoded at different bitrates:

  • myStream_700.sdp (700kbps total bitrate)
  • myStream_350.sdp (350kbps total bitrate)
  • myStream_200.sdp (200kbps total bitrate)

Using a text editor, create a SMIL file named myStream.smil in the [install-dir]/content folder with the following content:

<smil>
    <head>
    </head>
    <body>
        <switch>
            <video src="myStream_700.sdp" system-bitrate="700000"/>
            <video src="myStream_350.sdp" system-bitrate="350000"/>
            <video src="myStream_200.sdp" system-bitrate="200000"/>
        </switch>
    </body>
</smil>

There's a <video> entry in the <switch> container for each stream rendition. The system-bitrate value is set to the total bitrate (in bits-per-second) for that stream.

Note: JW Player and Flowplayer use a client-side XML file to reference each stream rendition, not the server-side SMIL file shown here.

For more information, see Stream adaptive bitrate content with Wowza Streaming Engine.

More resources