vp8 streaming on Android
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=10.1.5.21 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