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. Eclipse or Netbeans

I have never used Eclipse.  I did most of my JAVA dev in Netbeans, but
I see that netbeans is not listed for the requirments.  Is Eclispe the
way to go?

Thanks,
CreativeGene

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

2. Camera preview on a surface defined in XML?

I originally wanted to implement a camera view on a tab (so if anyone
can assist great!). But I have lowered my expectations to just
rendering the preview onto a surfaceview that is defined as part of
the layout.xml

I have used : 
http://code.google.com/android/samples/ApiDemos/src/com/example/android/apis/graphics/CameraPreview.html

But I am stumped as to how to tie the code to a surfaceview defined in
the layout.xml.

My projects compile but then they fail at runtime.

Any suggestions / help would be great. I have been stumped by this for
a few days, purchased 3 books, and they hardly touch on the camera.

Thanks!


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

3. Would the second partition on SD card be mounted and used?

4. WPA-Enterprise To Be Offered?

5. UBIFS runs on emulator, and finds a QEMU bug

6. About give new ISurface for video rendering(Both Camera and Player)

7. Sqlite connection coding