Contents
Tutorial
Troubleshooting
- Check your IP camera source using VLC
- RTSP/RTP
- Additional property configuration needed for some cameras
- How to turn on/off audio and video tracks
- How to add additional logging for RTSP debugging
- Common problems with .stream files
- Property to change AAC packetization method
- Flash playback
- Problematic SDP files
Related Articles
- How to troubleshoot RTSP/RTP playback
- How to set up an application for RTSP/RTP streaming
- How to configure Apple QuickTime player for RTSP/RTP playback on Windows
- How to configure VLC player for RTSP/RTP playback (RTSP/RTP interleaved and tuning)
Tutorial
Configuration
This section provides the basic steps for setting up an application for live streaming and configuring Application.xml.
- Create application folder [install-dir]/applications/live.
- Create configuration folder [install-dir]/conf/live and copy [install-dir]/conf/Application.xml to this new folder.
- Edit the newly copied Application.xml file and make the following changes (some of these settings may already be present):
Note: Right-click HERE to download a pre-configured version of Application.xml.
- Set the Streams/StreamType property to:
Code:<StreamType>live</StreamType>
- Set the HTTPStreamers property to:
Code:<HTTPStreamers>cupertinostreaming,smoothstreaming,sanjosestreaming</HTTPStreamers>
- Set the Streams/LiveStreamPacketizers property to:
Code:<LiveStreamPacketizers>cupertinostreamingpacketizer,smoothstreamingpacketizer,sanjosestreamingpacketizer</LiveStreamPacketizers>
- Set the RTP/Authentication/PlayMethod property to:
Code:<PlayMethod>none</PlayMethod>
- If you are using a Wowza Media Server version earlier than 3.0.4, add the following property to the MediaCaster/Properties container (be sure to get the correct <Properties> container, there are several in the Application.xml file):
Starting with Wowza Media Server 3.0.4, the forceInterleaved property isn't needed as the built-in default configuration comes with the settings below. This will work for most cameras.Code:<Property> <Name>forceInterleaved</Name> <Value>true</Value> <Type>Boolean</Type> </Property>
Note: If your camera doesn't support RTSP/RTP interleaved (RTP over TCP), then you must change the RTPTransportMode value from interleave to udp:
Code:<MediaCaster> <RTP> <RTSP> <!-- udp, interleave --> <RTPTransportMode>interleave</RTPTransportMode> </RTSP> </RTP> <!-- Properties defined here will override any properties defined in conf/MediaCasters.xml for any MediaCasters loaded by this application --> <Properties> </Properties> </MediaCaster>
- Set the Streams/StreamType property to:
Publishing the stream
This section provides the basic steps for creating a .stream file to publish your live stream to Wowza Media Server.
- Use a text editor to create the file [install-dir]/content/camera.stream and set the contents of this file to the full RTSP/RTP URL of the camera. The file must have a .stream filename extension. For this tutorial, the file used is camera.stream.
Note: SoleraTec has a reference of IP cameras and RTSP URLs. - Using a text editor, edit the [install-dir]/conf/admin.password file and add a username and password that will be used to start and stop the publishing of the camera (below is an example of the file with the username myuser and password mypassword):
Code:# Admin password file (format [username][space][password]) # username password myuser mypassword
- Start Wowza Media Server.
- Use Stream Manager to start the stream:
- Enter the following URL in a web browser:
URL: http://[wowza-ip-address]:8086/streammanager - In the Security dialog box, enter your admin username and password from above.
- In the Stream Manager webpage, click the [start-receiving-stream] link just below the live application folder.
- In the Start Receiving Stream dialog box, select the following MediaCaster Type option: rtp
- In the Stream Name field, enter camera.stream.
- Click OK.
- Enter the following URL in a web browser:
Playback
Note: In the following examples, [wowza-ip-address] is the IP address or domain name of the server running Wowza Media Server.
Adobe Flash Player (RTMP)
In Wowza Media Server 3.5, double-click [install-dir]/examples/LiveVideoStreaming/FlashRTMPPlayer/player.html, enter the information below, and then click the Connect button.
Server: rtmp://[wowza-ip-address]/live
Stream: camera.stream
Stream: camera.stream
To play the stream from a remote computer, copy the FlashRTMPPlayer folder to a web server, and then connect to: http://<webserver>/FlashRTMPPlayer/player.html.
Note: In Wowza Media Server 3.1.2 and earlier, double-click [install-dir]/examples/LiveVideoStreaming/client/live.html, enter the information below, and then click the Play button.
To play the stream from a remote computer, copy the client folder to a web server, and then connect to: http://<webserver>/client/live.html.
Server: rtmp://[wowza-ip-address]/live
Stream: camera.stream
Stream: camera.stream
To play the stream from a remote computer, copy the client folder to a web server, and then connect to: http://<webserver>/client/live.html.
Note: If your application will only stream to Flash RTMP clients, see Flash RTMP clients only.
Adobe Flash Player (San Jose/Adobe HDS)
In Wowza Media Server 3.5, double-click [install-dir]/examples/LiveVideoStreaming/FlashHTTPPlayer/player.html, enter the information below, and then click the Connect button.
Stream: http://[wowza-ip-address]:1935/live/camera.stream/manifest.f4m
To play the stream from a remote computer, copy the FlashHTTPPlayer folder to a web server, and then connect to: http://<webserver>/FlashHTTPPlayer/player.html.
Note: In Wowza Media Server 3.1.2 and earlier, double-click [install-dir]/examples/LiveVideoStreaming/clientOSMF/bin-release/LiveOSMFPlayer.html, enter the information below, and then click the Play button.
To play the stream from a remote computer, copy the clientOSMF/bin-release folder to a web server, and then connect to: http://<webserver>/bin-release/LiveOSMFPlayer.html.
Stream: http://[wowza-ip-address]:1935/live/camera.stream/manifest.f4m
To play the stream from a remote computer, copy the clientOSMF/bin-release folder to a web server, and then connect to: http://<webserver>/bin-release/LiveOSMFPlayer.html.
Note: The stream can only be played from an OSMF-based Flash player that's embedded in a webpage.
Apple iOS device (Cupertino/Apple HLS)
Enter the following URL into the Safari® web browser on the device:
URL: http://[wowza-ip-address]:1935/live/camera.stream/playlist.m3u8
Note: The Apple iPhone® 3GS (and older) and iPod touch® devices require that video be encoded using H.264 format (Baseline profile level 3 or lower) and AAC or MP3 stereo audio. iPhone 3GS and newer devices support Baseline profile. For encoding guidance for playback on Apple iOS devices, see How to find Apple iOS device supported profile and level information.
Note: This stream can also be played using the Safari web browser or QuickTime 10.x on a computer running Mac OS® X Snow Leopard version 10.6 and later.
Microsoft Silverlight (Smooth Streaming)
In Wowza Media Server 3.5, double-click [install-dir]/examples/LiveVideoStreaming/SilverlightPlayer/player.html, enter the information below, and then click the Connect button.
Stream: http://[wowza-ip-address]:1935/live/camera.stream/Manifest
To play the stream from a remote computer, copy the SilverlightPlayer folder to a web server, and then connect to: http://<webserver>/SilverlightPlayer/player.html.
Note: In Wowza Media Server 3.1.2 and earlier, double-click [install-dir]/examples/LiveVideoStreaming/clientSilverlight/Default.html, enter the information below, and then click the Play button.
To play the stream from a remote computer, copy the clientSilverlight folder to a web server, and then connect to: http://<webserver>/clientSilverlight/Default.html
Stream: http://[wowza-ip-address]:1935/live/camera.stream/Manifest
To play the stream from a remote computer, copy the clientSilverlight folder to a web server, and then connect to: http://<webserver>/clientSilverlight/Default.html
Note: The Silverlight player requires that both audio and video be present for playback. For live streaming only, the key frame frequency (which can be set directly in some encoders or is gop/fps) must be between 1 and 4 seconds (2 seconds is recommended). Anything greater than 4 seconds may cause playback to freeze.
RTSP/RTP player
Enter the following URL into the RTSP/RTP player:
URL: rtsp://[wowza-ip-address]:1935/live/camera.stream
Flash RTMP clients only
(Optional) If your application will only stream to Flash RTMP clients, in [install-dir]/conf/live/Application.xml, you can set the Streams/StreamType property to:
Code:
<StreamType>rtp-live</StreamType>
Also, in [install-dir]/conf/live/Application.xml, make sure that the Streams/LiveStreamPacketizers property is empty:
Code:
<LiveStreamPacketizers></LiveStreamPacketizers>
Troubleshooting
Check your IP camera source using VLC
It's best to first make sure that your camera can send H.264, AAC, or MP3 content. You can do this using the VideoLAN VLC player:
- Open the VLC player.
- Select menu item Media > Open Network Stream, enter your camera's RTSP URL, and then click Play.
- After the stream starts playing, select menu item Tools > Codec Information and make sure that one or two of the following
codecs are listed:- H.264 or AVC1 or MPEG4 Part10
- AAC
- MP3
Note: If your camera doesn't support the proper formats, then the stream must be transcoded before it's sent to Wowza Media Server. See How to use VLC as a live stream encoder with Wowza Media Server (MPEG-TS) for an example using VLC.
RTSP/RTP
- RTSP/RTP streaming is used to stream to Android™ and BlackBerry® mobile devices. Newer Android-based phones also support Adobe Flash Player 10.1 and later, along with RTMP and Adobe HTTP Dynamic Streaming (Adobe HDS).
- To stream to RTSP/RTP, be sure that UDP ports 0-65535 are open and properly mapped to the server running Wowza Media Server.
- It's very important to carefully follow the instructions provided in How to troubleshoot RTSP/RTP playback to properly configure Wowza Media Server for RTSP/RTP streaming.
Additional property configuration needed for some cameras
- When streaming out using RTSP/RTP, you can force the output to MPEG-TS (which is required by many set-top boxes) by adding the following properties to the RTP/Properties container in [install-dir]/conf/[application]/Application.xml (be sure to get the correct <Properties> container, there are several in the Application.xml file):
Code:<Property> <Name>forceMPEGTSOut</Name> <Value>true</Value> <Type>Boolean</Type> </Property> <Property> <Name>rtpWrapMPEGTS</Name> <Value>true</Value> <Type>Boolean</Type> </Property> - Some IP cameras may fail when Wowza Media Server tries to periodically validate the RTSP/RTP connection. The camera will disconnect and then reconnect every 15-30 seconds. You can turn off RTSP/RTP validation by adding the following property to the MediaCaster/Properties container in [install-dir]/conf/[application]/Application.xml (be sure to get the correct <Properties> container, there are several in the Application.xml file):
Code:<Property> <Name>rtspValidationFrequency</Name> <Value>0</Value> <Type>Integer</Type> </Property> - Some IP cameras send additional application tracks that Wowza Media Server can't understand. You can filter out these tracks by adding the following property to the MediaCaster/Properties container in [install-dir]/conf/[application]/Application.xml (be sure to get the correct <Properties> container, there are several in the Application.xml file):
Code:<Property> <Name>rtspFilterUnknownTracks</Name> <Value>true</Value> <Type>Boolean</Type> </Property>
How to turn on/off audio and video tracks
Note: For use with Wowza Media Server 3.0.5 and later.
You can turn off audio or video tracks by adding the following properties to the MediaCaster/Properties container in [install-dir]/conf/[application]/Application.xml (be sure to get the correct <Properties> container, there are several in the Application.xml file):
Code:
<Property> <Name>rtspStreamAudioTrack</Name> <Value>false</Value> <Type>Boolean</Type> </Property> <Property> <Name>rtspStreamVideoTrack</Name> <Value>false</Value> <Type>Boolean</Type> </Property>
How to add additional logging for RTSP debugging
You can log extra debug information to the log file about the RTSP handshake between Wowza Media Server and the IP camera (RTSP/RTP source) by adding the following property to the MediaCaster/Properties container in [install-dir]/conf/[application]/Application.xml (be sure to get the correct <Properties> container, there are several in the Application.xml file):
Code:
<Property>
<Name>debugRTSPSession</Name>
<Value>true</Value>
<Type>Boolean</Type>
</Property>
Common problems with .stream files
Many text editors will append a .txt filename extension to the camera.stream filename. This will result in an error message similar to the following:
SDP file missing: c:/program files/wowzamediasystems/wowzamediaserver[version]/content/camera.stream
To fix this, go to the [install-dir]/content folder and remove the .txt filename extension from the file.
Property to change AAC packetization method
Wowza Media Server can output AAC audio using the mpeg4-generic and mp4a-latm (3gpp) packetization methods. The default packetization method is mpeg4-generic. To switch to mp4a-latm (3gpp), add the following property to the RTP/Properties container in [install-dir]/[application]/Application.xml (be sure to get the correct <Properties> container, there are several in the Application.xml file):
Code:
<Property>
<Name>audioPacketizerAAC</Name>
<Value>com.wowza.wms.rtp.packetizer.RTPPacketizerMPEG4LATM</Value>
</Property>
Flash playback
Some IP cameras send proprietary data as part of the H.264 stream that may cause playback problems (pauses or glitches during playback) in Flash. You can filter out these extensions by adding the following property to the Streams/Properties container in [install-dir]/conf/[application]/Application.xml (be sure to get the correct <Properties> container, there are several in the Application.xml file):
Code:
<Property>
<Name>nalUnitFilter</Name>
<Value>13</Value>
<Type>Integer</Type>
</Property>
Problematic SDP files
Many IP cameras incorrectly publish the H.264 profile-level-id value in the Session Description Protocol (SDP) message. This can cause the video to be either blank or corrupted. You can configure Wowza Media Server to ignore the profile-level-id value in the SDP data and instead derive this value from the sprop-parameter-sets value by adding the following property to the RTP/Properties container in [install-dir]/conf/[application]/Application.xml (be sure to get the correct <Properties> container, there are several in the Application.xml file):
Code:
<Property>
<Name>rtpIgnoreProfileLevelId</Name>
<Value>true</Value>
<Type>Boolean</Type>
</Property>
Updated: For Wowza Media Server 3.5.0 on 11-08-2012
- Click here, if you are having problems or would like to discuss this article.
- Leave a comment below, if there is some aspect of this article you would like to see changed or improved.


Article List
Categories
Wowza Media