Using Telestream Wirecast live encoder with Wowza Pro (RTMP or RTSP/RTP)

Step by step instructions for using Telestream Wirecast encoder with Wowza Pro (Flash Player version 9.0.115.0 or greater is required). There are two methods for streaming from Wirecast to Wowza Pro; RTMP and RTSP/RTP. This post provides instructions for both methods of streaming.

RTMP based streaming

  • Download and install Wowza Media Server Pro 1.7.2 or greater

  • Create a new Wowza Pro application for streaming (may already exist if examples installed)

  • Create the folder [install-dir]/applications/live

  • Create the folder [install-dir]/conf/live

  • Copy the file [install-dir]/conf/Application.xml into this new folder [install-dir]/conf/live

  • Edit the newly copied Application.xml and change Streams/StreamType to live

  • Startup the Wowza Pro server

  • Hook up webcamera to PC

  • Download and install Telestream Wirecast

  • Startup Wirecast and click the thumbnail of your web camera in the media list

  • Configure Wirecast broadcast settings

  • Select the menu item Broadcast: Broadcast Settings…

  • Change Encoder Preset drop down to any of the Flash… based presets

  • Change Destination drop down to RTMP Flash Server

  • Change Address to rtmp://[server-ip-address]/live

  • Change Stream to myStream

  • Click Save button

  • To broadcast to Wowza Pro, select the menu item Broadcast: Network Broadcast: Start All

  • To play the stream, double click the LiveVideoStreaming enter the following values and click Play:

    Server: rtmp://[server-ip-address]/live
    Stream: myStream
    
    [i]where [server-ip-address] is the ip address of the server running Wowza Pro[/i]
    
    

    RTSP/RTP based streaming

  • Download and install Wowza Media Server Pro 1.7.2 or greater

  • Create a new Wowza Pro application for streaming (may already exist if examples installed)

  • Create the folder [install-dir]/applications/live

  • Create the folder [install-dir]/conf/live

  • Copy the file [install-dir]/conf/Application.xml into this new folder [install-dir]/conf/live

  • Edit the newly copied Application.xml and make following edits:

  • Change Streams/StreamType to live

  • Add following properties to Streams/Properties container (there are several containers, be sure to add to correct container)

    <Property>
    	<Name>sortPackets</Name>
    	<Value>true</Value>
    	<Type>Boolean</Type>
    </Property>
    <Property>
    	<Name>sortBufferSize</Name>
    	<Value>500</Value>
    	<Type>Integer</Type>
    </Property>
    
    
  • Edit the file [install-dir]/conf/rtp.password (or [install-dir]/conf/publish.password if Wowza Media Server 2) and add a username and password

    Here is an example of the password file with the username charlie and password changeme

    # RTP password file (format [username][space][password])
    #username password
    charlie changeme
    
    
  • Startup the Wowza Pro server

  • Hook up webcamera to PC

  • Download and install Telestream Wirecast

  • Startup Wirecast and click the thumbnail of your web camera in the media list

  • Create a new H.264/AAC encoder preset

  • Select the menu item Window: Encoder Presets

  • From the Encoder Preset drop down menu select <New…>, enter a name for your preset and click OK

  • Change the Output Format drop down to QuickTime

  • Select the Video tab, change the Encoder drop down menu to H.264 and change and other settings as desired

  • Select the Audio tab, change the Encoder drop down menu to MPEG-4 Audio and change and other settings as desired

  • Click Save button

  • Configure broadcast settings

  • Select the menu item Broadcast: Broadcast Settings…

  • Change Encoder Preset drop down to encoder preset you created above

  • Change Destination drop down to Announce to QuickTime Streaming Server

  • Change Host Name to [server-ip-address]:1935 (where [server-ip-address] is the ip address of the server running Wowza Pro)

  • Change File Location to live/myStream.sdp (the format of this field as it relates to Wowza Pro is [application]/[application-instance]/[stream] if [application-instance] is omitted it defaults to definst)

  • Enter the Username and Password added to the conf/rtp.password file above to the appropriate fields

  • Click Save button

  • To broadcast to Wowza Pro, select the menu item Broadcast: Network Broadcast: Start All

  • To play the stream, double click the LiveVideoStreaming (previously On2 Flix Live) example player ([install-dir]/LiveVideoStreaming/client/live.html), enter the following values and click Play:

    Server: rtmp://[server-ip-address]/live
    Stream: myStream.sdp
    
    [i]where [server-ip-address] is the ip address of the server running Wowza Pro[/i]
    
    

    [install-dir]

    Windows (default): C:\Program Files\Wowza Media Systems\Wowza Media Server Pro [version]

    Mac OS X: /Library/WowzaMediaServerPro

    Linux: /usr/local/WowzaMediaServerPro

    Note: When streaming using RTSP/RTP method, Wirecast streams using UDP on ports 6970 - 9999. This can be a problem if you are streaming to a Wowza Pro server that is behind a firewall on which these ports are blocked. To resolve this issue, open up the UDP port range 6970 - 9999 on your firewall. Another solution would be to check the box Broadcast over TCP to interleave the media traffic on TCP port 1935 but this option is currently broken in Wirecast. We are working with the Vara Software development team to get his resolved.

    Note: If you experience problems getting either the audio or video to play through Flash, double check the version number of the Flash player (Flash player version 9.0.115.0 or above is required). If you still have problems, turn on Wowza Pro debug logging (edit [install-dir]/conf/log4j.properties and change the log4j.rootCategory on the first line from INFO to DEBUG), try the encoder several more times, zip up and send your [install-dir]/logs folder along with screen shots of the encoder setup screens and the LiveVideoStreaming player screen and send a detailed description of your problem to support@wowza.com.

    Charlie

You will need to wait until we release Wowza Pro 1.5.0-preview2. Then you will be able to accomplish what you described. Should be this week or next.

Charlie

Please send me screenshots of all the audio settings dialogs in Wirecast including the packetization dialog. Send them to charlie@wowza.com.

Charlie

Please follow the instructions in the last note to generate debug logs and send the logs to charlie@wowza.com. It does sound like it might be that you are running the wrong version of the flash player (9.0.115.0). So triple check just to be sure.

C

It is clear now. This is currently not possible with Wowza Pro.

Charlie

Please take screen shots of all the setup screens on the mac and send them to charlie@wowza.com.

Charlie

Install the latest patch from here:

https://www.wowza.com/devbuild.html

If you still have problems then follow these instructions and send me the debug logs and screen shots of the problems:

Note: If you experience problems getting either the audio or video to play through Flash, double check the version number of the Flash player (Flash player version 9.0.115.0 or above is required). If you still have problems, turn on Wowza Pro debug logging (edit [install-dir]/conf/log4j.properties and change the log4j.rootCategory on the first line from INFO to DEBUG), try the encoder several more times, zip up and send your [install-dir]/logs folder along with screen shots of the encoder setup screens and the LiveVideoStreaming player screen and send a detailed description of your problem to support@wowza.com.

Charlie

There is a bug in the initial release of Wowza Pro 1.5.0 that does not allow you to use the none authentication type. Install the most recent patch. It will clear up the problem:

https://www.wowza.com/devbuild.html

Charlie

When you connect using the flash player, make sure you use the following Server and Stream information:

Server: rtmp://[wowza-ip-address]/streamtest

Stream: myStream.sdp

It sounds like you might have omitted the streamtest part of the Server url.

Charlie

So let me understand. You think the out of sync issue is due to the Wirecast encoder, correct? What is the cpu load when you run the encoder?

One thing to try is to install the most recent patch from here:

https://www.wowza.com/devbuild.html

Then in conf/[application]/Application.xml add these properties to the properties:

<Property>
	<Name>sortPackets</Name>
	<Value>true</Value>
	<Type>Boolean</Type>
</Property>
<Property>
	<Name>sortBufferSize</Name>
	<Value>250</Value>
	<Type>Integer</Type>
</Property>

This will sort the packets server side before sending them to the Flash client. With this in place you should see a log entry that looks like this:

sortPackets[stream-id]: sortBufferSize:250

Charlie

The repeating of audio is very strange. Not sure why this is happening. I would suspect it is an encoder issue but not sure.

Origin/edge should have no effect good or bad on the problem. It just will forward exactly what you are seeing on the origin.

If you haven’t already you might try a large or xlarge instance type to see if that makes a difference. Not sure what you are running now but a small instance can have network throughput issues.

Charlie

The GPU acceleration does not seem to help this problem. If you set the NetStream.setBufferTime to zero you can drive it below a second but this can cause some problems with jerky playback.

Wowza Pro does not affect the video quality. It is all controlled through the encoder. The Flash player does not do a great job of scaling when not in full screen mode. In fullscreen mode if you turn on acceleration then the scaling is very good.

So if you are viewing the video in non-fullscreen mode to assess quality you may want to make the frame size in the player to the same size as the what is being broadcast by the encoder.

Charlie

Certainly a hardware based encoder from someone like Haivision, Viewcast, DigitalRapids, Optibase… will give you great quality.

Charlie

I am pretty sure it is a Wirecast issue. I would contact them.

Charlie

We have seen this issue from several different customers and it seems to be more often then not an encoder issue. I would chat with the Telestream folks to see if they have any suggestions.

Charlie

Thanks for the update. I will update the forum post for this new functionality.

Charlie

Very happy to hear you got this sorted out.

Charlie

Great that you got it working. Great to hear it was so easy.

Charlie

Unfortunately there are several authentication mechanisms and they flow into the server in very different ways. RTSP/RTP authentication is done using our build in authentication classes. There is a way to implement your own RTSP/RTP authentication class but it is pretty involved. Exactly what are you trying to accomplish?

Charlie

RTMP authentication is handled in a separate AddOn package. It is here:

http://community.wowza.com/t/-/45

We currently do not have a way to extend this system to provide custom methods of authentication. The current system uses a username/password lookup in a flat file. I will consider extending this support hooks for plugin in other methods but for now it will stay this way.

The RTSP/RTP mechanism is more extensible. Again, it take a little work but it can be customized.

Charlie