ADSL Connection Video Broadcasting

Problem: When using Live Streaming solutions, live streams from some broadcasters have big frame loss, huge latency and sometimes don’t show at all.

Many home user internet connections are ADSL (Asymmetric Digital Subscriber Line), meaning they have low upload bitrate compared to download: In ADSL, Bandwidth and bitrate are said to be asymmetric, meaning greater toward the customer premises (downstream) than the reverse (upstream). Providers usually market ADSL as a service for consumers for Internet access for primarily downloading content from the Internet, but not serving content accessed by others.

This causes issues when trying to upload content like broadcasting live video. For live broadcasts, streaming bitrate is limited by broadcaster’s upload bitrate. Broadcasters with such connections will encounter severe issues (frame loss, long interruptions, big latency) if they try to live stream a stream with bitrate very close or greater than connection limit.

How to determine your connection type and limits (for adjusting streaming settings)? Measure Connection Speed
Do a speed test from broadcasting location to a location near streaming server (rtmp) using SpeedTest.net .
On new version use Change Server and search for a server in Montreal, in example.
In legacy version if latest does not work, drag and zoom to a server in North America and select it to test for our demos .
Check upload bitrate. Divide by 8 to obtain transfer rate in bytes/second as bitrate is often displayed in bits/second.
Then adjust streaming settings so video, sound and interactions fit in upload bitrate (leave 10-25% margins).

If your site targets users from certain areas, browse some stats and identify common upload bitrate to adjust default streaming settings.

Also see:
Recommended h264 Video Bitrate Based on Resolution
VideoWhisper Web Application Client Requirements

Wowza RTSP Live Streaming for Android

 

Test your device RTSP playback:
rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov

 

 

Configure Wowza Media Server

– http://www.wowza.com/forums/content.php?36#publish
[install-dir]/conf/Application.xml

+ Set the Streams/StreamType property to live :
<StreamType>live</StreamType>

+ Set the HTTPStreamers property to cupertinostreaming,smoothstreaming,sanjosestreaming :
<HTTPStreamers>cupertinostreaming,smoothstreaming,sanjosestreaming</HTTPStreamers>

+ Set the Streams/LiveStreamPacketizers property to cupertinostreamingpacketizer,smoothstreamingpacket izer,sanjosestreamingpacketizer:
<LiveStreamPacketizers>cupertinostreamingpacketizer,smoothstreamingpacketizer,sanjosestreamingpacketizer</LiveStreamPacketizers>

+ Set the RTP/Authentication/PlayMethod property to none:
<PlayMethod>none</PlayMethod>

 

– http://www.wowza.com/forums/content.php?62
[install-dir]/conf/VHost.xml and add 554 to the list of HostPort/Ports

– http://www.wowza.com/forums/content.php?36#RTSP
RTP > Properties container in [install-dir]/conf/[application]/Application.xml (be sure to get the correct Properties container – there are several in Application.xml):
Code:

<Property>
<Name>forceMPEGTSOut</Name>
<Value>true</Value>
<Type>Boolean</Type>
</Property>
<Property>
<Name>rtpWrapMPEGTS</Name>
<Value>true</Value>
<Type>Boolean</Type>
</Property>

Publish

http://www.wowza.com/forums/content.php?62

  1. Encoding:

    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.

  2. 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.

 

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:

  • 800×480
  • 480×320
  • 240×160

 

VideoWhisper provides compatible, rtmp managed Wowza hosting plans and assistance with mobile streaming:

http://www.videowhisper.com/?p=Wowza+Media+Server+Hosting