Troubleshooting Mobile Streaming

Silverlight Smooth Streaming support HTML 5 mobile streaming support Android video streaming support Apple iPhone  video streaming support Flash FLV, MP4 video streaming support Blackberry video streaming support


Mobile Streaming video players supported are any with appropriate protocol support, including Adobe Flash, Microsoft Silverlight (in-browser, out-of-browser, Windows Phone), VLC, Apple QuickTime, Apple Safari (HTML5), iPhone/iPad/iPod touch, 3GPP (Android, Blackberry, Symbian and other mobile streaming devices.), IPTV set-top boxes, game consoles (Wii, PS3, Xbox 360), and others. Please see Supported Devices

Mobile Streaming - Device Capabilities and troubleshooting

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

    There are 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:

    • 800x480
    • 480x320
    • 240x160

  • Sony Ericsson:
    There are some reports 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 natively, a mobile app such as OPlayer Lite is needed.
  • 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 and Sony Ericsson that support video/audio streaming support RTSP/RTP.
    Support for MP3 over RTSP/RTP is not so common as AAC-LC.

Video and Audio Encoding:

Ideally encode the video using a low bitrate, frame rate and low encoding complexity. For RTSP 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. Suggested Key Frame interval at every 2 or 5 seconds. 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.

Profile and level support information for Apple iOS devices can be found in Apple’s technical specifications for each device.

  • iPhone 3GS and older devices support Baseline Profile level 3.0 and lower
  • iPhone 4S supports High Profile level 4.1 and lower
  • iPad 1 supports Main Profile level 3.1 and lower
  • iPad 2 supports Main Profile level 3.1 and lower
  • The new iPad (March 2012) supports High Profile level 4.1 and lower

It is best to use H.264 baseline level 3.0 for video encoding since this is supported by more devices. iPhone and iPad support bitrates of up to around 600Kbps on 3G and higher bitrates on Wifi. As a rule of thumb for streaming the audio bit rate should be no more that around 10% of the video bit rate. For a 600Kbps video the audio would then be 64Kbps. We also recommend that 'constant' bit rates (CBR) rather than 'variable' rates are used. A frame size of 640 x 360 works well, other recommended sizes are on the Apple website.

If you are using our multi protocol streaming platform for Apple HLS delivery there is only one file required per bitrate since the platform will create the 'chunks' for you. If you choose to use the Web object deivery method then it is necessary to create the segments and playlists yourself. Advice on how this is done can be found on the Apple website.

For many mobile devices and tablets it is advisable to use Adaptive BitRate (ABR) streaming. ABR dynamically switches between bit rates acording to the available bandwidth seemlessly. It is available through a variety of protocols specified by companies such as Adobe, Microsoft, and Apple and is quickly becoming a technology requirement for content providers and distributors supplying video to web-based devices such as laptops, mobile phones, and increasingly, tablet platforms*. It is also a requirement for Apple apps that use HTTP live streaming (HLS) . This delivery method is having a huge impact on every aspect of Internet video delivery because it allows the stream to adapt the video experience to the quality of the network and the device’s CPU. To use the ABR streaming method files must be properly encoded with key frames aligned. Three or more different bit rates are normally used. This example is for use with iOS, iPad and iPhone:

Big Buck Bunny video - MPEG-4, H.264, AAC audio

This uses a simple server-side SMIL file. Here is an example:

 <smil>
    <head>
    </head>
      <body>
        <switch>
            <video src="mp4:yourvideo_600.mp4" system-bitrate="600000"/>
            <video src="mp4:yourvideo_400.mp4" system-bitrate="400000"/>
            <video src="mp4:yourvideo_300.mp4" system-bitrate="300000"/>
            <video src="mp4:yourvideo_64.mp4" system-bitrate="64000"/> 
      </switch>
    </body>
</smil>

Your URL for playback would be:

http://bigCDN_streaming_server.com:1935/publishingpoint/_definst_/smil:your_playlist.smil/playlist.m3u8

Live Encoding - Mobile Streaming:

The free Adobe Flash Media Encoder 3.2 and above is recommended for live Flash streaming using H.264 and AAC audio (requires the puchase of the MainConcept codec) and baseline level 3.0. This allows for HTTP playback for iOS and Silverlight as well as Flash if our multiprocol live streaming service is used. We caution against archiving the webcast locally using the default setting which produces an f4v file. This is not a streamable or convertable file for uploading to a streaming server and would need flattening with the Adobe F4VPostProcessor tool which is not always successful. Archive locally as flv instead. A Frame Rate of 15 with Key Frame every 2 seconds is good for most connections.

Networks

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.

The default port for RTSP streaming is TCP port 554. Some players will only use this port for streaming. We suggest using a URL similar to below rather than one that uses port 1935:

rtsp://bigCDN_streamingserver.com:554/publishingpoint/_definst_/mp4:yourvideo.mp4

NB: The URL for a Silverlight player would be:

http://bigCDN_streamingserver.com:1935/publishingpoint/_definst_/mp4:yourvideo.mp4/manifest

*Please see further info regarding supported devices here:

Best Frame Sizes for iOS devices

Supported Devices

Multi Protocol Streaming Delivery

Mobile Streaming Troubleshooting

Live Streaming WEB TV

This entry was posted in Content-Delivery-Network and tagged , , , , , , , , , , , , , , , , , , , , , , , , , . Bookmark the permalink.

Leave a Reply