Video streaming in BITE: technical hints

NAT and network protocols

Mobile phones in BITE network can normally view RTSP streaming from servers anywhere on the internet. The recommended APN configuration on the phone for streaming is the same as for browsing: “WAP”.

Since mobile phones connect to internet via NAT (Network address translation), it is important that the streaming server configuration is aware of this. It is basically following a session logic that our NAT can understand.

What works: Youtube: Session is initiated using TCP protocol. Then phone sends UDP packet from port 10 to UDP port 20 on server. Answer comes from server UDP port 20 to phone UDP port 10. Everything OK, NAT understands that this is the same session.

For example, Darwin streaming server can be configured so that it works fine with mobile streaming.

What does not work: Phone sends UDP packet from port 10 to your server UDP port 20. But the stream from your server comes from UDP port 30. NAT has no clue this is the same session and blocks stream from your server to the phone. You need to check the configuration of your streaming server and make sure the ports are not jumping around - only the ports that the phone “contacted” first can send data back to the phone.

Codecs and bitrates

Video streaming for mobile phones is done using RTSP protocol.

The following 3 quality levels and codecs have been found to work best in BITE, for mobile phones typically present in the market:

For GPRS users:
quality=LOW 
videoEncoder=ffmpeg 
videoEncoding=H263
videoWidth=176
videoHeight=144
videoFrameRate=5
videoBitRate=25
audioChannels=1
audioSampleRate=8000
audioBitRateBps=7400
audioEncoding=AMR

For EDGE users:
quality=MEDIUM
videoEncoder=ffmpeg
videoEncoding=H263
videoWidth=176
videoHeight=144
videoFrameRate=6
videoBitRate=50
audioChannels=1
audioSampleRate=8000
audioBitRateBps=7950
audioEncoding=AMR

For 3G/UMTS users:
quality=HIGH
videoEncoder=ffmpeg
videoEncoding=H263
videoWidth=176
videoHeight=144
videoFrameRate=5
videoBitRate=80
audioChannels=1
audioSampleRate=8000
audioBitRateBps=12200
audioEncoding=AMR

Nokia documentation

 
streaming_tech.txt · Last modified: 2007/10/11 10:28 by admin