Using GPU to decode video on Android
ivan-perez
ivan at encore-lab.com
Thu Jan 19 16:12:06 UTC 2017
Hello
I'm receiving on my Android mobile phone a video via RTP/UDP, but I've seen
that CPU usage is very high, nearly 100% of one core is being used to decode
the video. On high-end devices the video is played smoothly, but on middle
and low-end devices I barely get 1 frame per second.
This is my pipeline:
udpsrc port=5004
caps=application/x-rtp,payload=96,clock-rate=90000,encoding-name=H264 \
! rtpjitterbuffer drop-on-latency=true max-dropout-time=500 \
! rtph264depay \
!
video/x-h264,width=480,height=360,framerate=30/1,profile=baseline,stream-format=avc,alignment=au
\
! h264parse \
! decodebin \
! videoconvert \
! autovideosink
And this one is the pipeline on the server side (in this case I'm using a
Raspberry):
gst-launch-1.0 -e -v fdsrc \
!
video/x-h264,width=480,height=360,framerate=30/1,profile=baseline,stream-format=avc,alignment=au
\
! h264parse \
! rtph264pay \
config-interval=1 \
pt=96 \
! udpsink \
sync=false \
host=192.168.1.5 \
port=5004 \
bind-address=192.168.1.2 \
bind-port=5004
I think that this can be fixed if I could use GPU decoding instead of
software decoding, but I haven't found any information about it on the docs.
So my question is: How can I decode a H264 video (or whatever other format,
I don't mind to use another one if I get better results) using hardware
acceleration on Android?
Thanks!
Kind regards.
--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Using-GPU-to-decode-video-on-Android-tp4681563.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
More information about the gstreamer-devel
mailing list