vp8 streaming on Android

Lee Matthews lma at spaceapplications.com
Fri Apr 18 08:27:53 PDT 2014


I'm trying to use gstreamer on a nexus 5 phone to stream video over the network to a PC using the vp8 codec.

I used buildroot to build gstreamer and its associated plugins for the ARM target.

To send data from the phone I use the following command :

../lib/ld-linux.so.3 ./gst-launch-1.0 v4l2src device=/dev/video3 ! videoconvert !  video/x-raw, framerate=10/1, width=640, height=480 ! vp8enc target-bitrate=500000 keyframe-max-dist=20 threads=4  ! rtpvp8pay pt=96 ! udpsink host= port=5555

On my PC I visualise the incoming video using :

gst-launch-1.0 udpsrc port=5555 ! "application/x-rtp, payload=96" ! rtpvp8depay ! vp8dec ! xvimagesink

The video framerate is really slow, ie 1 frame every second or two with a latency of around 10 seconds - is there something inherently wrong with the above pipeline configuration that would explain this ? Even if I reduce the resolution to 320x240, this yields very little improvement.

Secondly, apparently the nexus 5 has built-in vp8 encoding/decoding hardware support. Is this taken into account by the vp8enc element ? My processor usage is currently hovering at around 40%.


More information about the gstreamer-devel mailing list