Not at all fluid playback with Gstreamer on android tablet

Böhr, Nico nico.boehr at student.kit.edu
Sun Feb 24 11:15:38 PST 2013


Hello,

I am developing an Android application that receives video data from a Server application. On Android, I used the GStreamer SDK for Android.

Unfortunately, the video is not fluid and I am not able to get more than like one frame per 30 seconds, also the quality of the frames seems very low. 

The pipeline on android:
appsrc name=icestream is-live=1 ! 
application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)VP8-DRAFT-IETF-01, payload=(int)96 ! 
gstrtpjitterbuffer latency=5000 ! 
rtpvp8depay ! 
vp8dec ! 
autovideosink

and on the server:
videotestsrc horizontal_speed=10 ! 
video/x-raw-yuv,width=640,height=480,framerate=30/1 ! 
clockoverlay halign=right valign=bottom shaded-background=true time-format="%H:%M:%S" ! 
videorate ! 
vp8enc speed=2 max-latency=2 quality=5.0 max-keyframe-distance=3 threads=1 bitrate=3000000 ! 
rtpvp8pay ! 
appsink name=icestream 

I already tried the following:

- Just render a test video on the android device. videotestsrc has fluid playback.

- Use the following pipeline on the android device:
appsrc name=icestream is-live=1 ! 
application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)VP8-DRAFT-IETF-01, payload=(int)96 ! 
gstrtpjitterbuffer latency=5000 ! 
rtpvp8depay ! 
vp8dec ! 
jpegenc ! 
appsink name=test 

then, I took the images from the appsink and saved them to the sd card. I get over 20 frames per second that have excellent quality.

So I think the problem must be somewhere in the rendering of the video.

Can anybody help me out what the problem is?

Thanks for your help!


More information about the gstreamer-devel mailing list