This is a brief guide to which devices support which protocols and capabilities.
- Android: Most Android devices support RTSP/RTP streaming. Newer Android devices that are running version 2.2 or greater (Froyo) also support Flash player 10.1 and can play RTMP and Flash HTTP streams. Android devices cannot play MP3 streams over RTSP/RTP in any combination (audio/video or audio only). Android devices that support Flash player 10.1 can play MP3 using RTMP or Flash HTTP. When streaming to an Android device using RTSP/RTP, the RTP portion must flow over UDP. Android does not support RTSP/RTP interleaved (RTP over TCP). This means if UDP is unavailable for RTP playback, RTP over TCP will not work as a failover and your stream will not play.
Customers have reported issues with RTSP/RTP playback on the DroidX and Droid2. It seems that only a few frame sizes will play properly on these devices:
- Sony Ericsson:A customer has reported that some Sony Ericsson phones requires Baseline level 1.2 or lower video for playback.
- Blackberry: Most Blackberry devices support RTSP/RTP streaming. Many Blackberry devices support RTSP/RTP interleaved (RTP over TCP) if RTP over UDP is not available.
- iOS: iPhone, iPad and iPod touch devices support Apple HTTP Live Streaming only. RTSP/RTP streaming is not possible to an iOS device.
- Windows Phone 7: Windows Phone 7 devices support Microsoft Smooth Streaming through an application. An application is available on the Microsoft Media Platform Player Framework page.
- Other Devices: Most other mobile devices such as Nokia, Samsung, Sony Ericsson... that support video/audio streaming support RTSP/RTP. Support for MP3 over RTSP/RTP is not common as AAC-LC.
Follow one of the tutorials to set up an application configured for video on demand or live streaming.
Video On Demand
Follow the How to setup video on demand streaming tutorial to set up an application to stream video on demand (VOD).
Note: The Wowza Media Server 3 installation provides a preconfigured application named vod.
Follow one of the live tutorials to set up an application for live streaming.
- How to set up live streaming using an RTMP-based encoder
- How to set up live streaming using an RTSP/RTP based encoder
- How to publish and play a live stream (MPEG-TS based encoder)
- How to set up live streaming using a native RTP encoder with SDP file
It is best to encode the video using a low bitrate, frame rate and low encoding complexity. For mobile streaming a total bitrate of between 64Kbps to 250Kbps is probably best. Many mobile devices may not be able to handle a full 30 frames per second (fps). A frame rate of 15 - 24 fps may be best for mobile. It is best to encode to a lower H.264 complexity. Most mobile devices only support H.264 Baseline. Encoder complexity and level is discussed here.
Networking (UDP and TCP setup)
UDP: It is best to open all UDP (0-65535) ports for RTSP/RTP streaming. On the incoming side, Wowza tends to try to use ports between the range of 6970-9999. Outgoing the port choice is made by the receiving device. So it is best to open all ports to outgoing UDP traffic. Getting the UDP setup correctly is sometimes difficult and dependent on your router and firewall setup. If behind NAT (network address translation) it is important that all UDP ports are mapped to the server running Wowza.
We have a test stream running on Amazon EC2 which is properly setup and seems to work on most mobile networks/devices. Amazon EC2 is a great place to experiment with RTSP/RTP streaming. The test RTSP/RTP stream is here:
More information on Wowza Media Server for EC2 is here.
Some carriers just do not allow RTP or UDP over the carrier network. Many mobile devices will rollover to RTSP/RTP interleaved (RTP over TCP). These devices will work when the carrier does not support UDP. Some devices do not support RTSP/RTP interleaved and will simply not work if RTP or UDP is blocked by the carrier. It is best to test our test stream below to see if it works first to determine if a properly setup stream is going to work.
TCP: The default port for RTSP streaming is TCP port 554. Some players will only use this port for streaming. So even even if you include the default Wowza Media Server streaming port to the URL (1935) playback may not work properly. To enable Wowza to use this port, edit [install-dir]/conf/VHost.xml and add 554 and 80 to the list of HostPort/Ports:
Apple HTTP Live Streaming on non-Apple based players
To play using Android 4.0 or higher with (Cupertino/Apple HTTP Live Streaming)
Test Stream URL
There is a properly setup test stream here:
The direct RTSP URL is:
The test H.264 video on demand file is here:
- 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.