RTP streaming of H.264 with bitrates around 600kBit/s

by hayate » Thu, 10 Sep 2009 01:09:11 GMT


Sponsored Links
 I've got a problem when streaming H.264 with bitrates of about 600kBit/
s and a resolution
of 480x320 over RTP to an Android device (HTC Magic).  When playing
the stream, the device
shows decoding artefacts and even gets stuck at some times (in this
case the phone won't play
any streams unless it gets restarted).
The stream actually works well for bitrates up to 500kBits/s. Also the
local playback of the file (with 600kBits/s)
in a mp4 container seems to work without showing artefacts.

For encoding the video file i used mencoder with the following
options:

mencoder version: MEncoder SVN-r29411-4.4.0

mencoder input.flv -nosound -vf scale=480:320 -ovc x264 -x264encopts
bitrate=600:bframes=0:nocabac:trellis=0:level_idc=30:ref=2:no-dct-
decimate=1 -ofps 30 -of rawvideo -o test.h264


I tired playing with the the vbv-bufsize parameter of x264encopts,
setting it to 10-200 which resulted therein
that the phone didn't got stuck during playback, but still showing
artefacts.

The question is if there are any options which would make the video
play without artefacts, because the
site about supported media formats ( http://developer.android.com/guide/ 
appendix/media-formats.html)
says that average bitrates up to 600kBits/s should work fine, or is
the processing overhead for RTP simply
to much to handle for the CPU of the device?

--~--~---------~--~----~------------~-------~--~----~



RTP streaming of H.264 with bitrates around 600kBit/s

by RaviY » Thu, 10 Sep 2009 11:58:09 GMT


 My immediate reaction would be to go with the thought that "RTP
processing overhead is higher" compared to progressive streaming or
local playback of a similar file.

One experiment that you could try is to reduce the frame rate (which
would reduce the RTP packets throughput) to see if that helps.

Usually artifacts are because of dropped packets. If you like to get
your hands dirty, you could look into the code to find out if there
are any packets being dropped.

-Ravi



--~--~---------~--~----~------------~-------~--~----~


Sponsored Links


Other Threads

1. How can I hide views when the soft keyboard is up?

I have a pretty standard search edit widget on top / search results
list widget on bottom activity in my app. Below the results list
widget I also have my view for ads. When the soft keyboard is brought
up in this activity, I'd like to hide the view the ads are in because
they consume too much screen space. I tried making that view
android:isScrollContainer="true" but that had no effect.

So the question is, how can I ensure that certain views will be hidden
when the soft keyboard is brought up?

-- 

2. Are 3rd party app stores a good idea for free apps?

After publishing a free app to Android Market I have received numerous
solicitations from 3rd party app stores to publish my app such as
handster.com and mobango.com. To date, I have not pursued that and my
app is only available on Android Market.

I would love to hear some developer opinions about this: Is it better
to stick to Android Market only, or does it make sense to publish your
free apps in as many stores as you can? What do you think are the pros
and cons to each approach?

-- 

3. Another back button question... soft keyboard related

4. Fwd: Enlightenment needs NO ANNOUNCEMENT

5. Bold fonts creation from regular font file

6. touch highlight behavior in a ListView

7. Truetype hinting in FreeType