vdpauh264dec plugin not recognized by playbin

Robert Szelepcsenyi robert at tankred.sk
Tue Feb 22 14:30:02 PST 2011


I need to play 1080p H264 movies from html5 video tag in webkit. The system
features a relatively weak CPU (Atom 230), which is unable to decode such a
video in realtime. However, the system features nVidia chipset that is able
to play 1080p videos utilizing HW acceleration (vdpau).

I have installed vdpauh264dec plugin, which handles this. For example, I can
play a 1080p video in Quicktime container (mov) using this command:

gst-launch filesrc location=101_ice_age_2-tlrD_h1080p.mov ! qtdemux !
vdpauh264dec ! vdpauvideopostprocess ! vdpausink

When I try to play the file using playbin, I will get an error that
gstreamer does not know how to handle a h264 video:

gst-launch playbin uri=file:///local/gstreamer/101_ice_age_2-tlrD_h1080p.mov

yields:

** Message: don't know how to handle video/x-h264, level=(string)4,
profile=(string)main, codec_data=(buffer)014d4028ffe10
014274d4028a9180f0042d803501010130ad7bdf01001000428ce09c8, width=(int)1920,
height=(int)1056, framerate=(fraction)2997/125                        ,
pixel-aspect-ratio=(fraction)1/1

However

gst-inspect vdpauh264dec

yields (among other things):

  SINK template: 'sink'
    Availability: Always
    Capabilities:
      video/x-h264
             interlaced: false


I do not understand why playbin will not use vdpauh264dec to play the file.

html5 video tag in webkit cannot play the file either, problably for the
same reason.


If I install ffmpeg plugins (including a h264 decoder), I can play the file
using playbin and webkit, however, without any acceleration in HW.


Gstreamer registry should be up-to-date. I rebuilt it with gst-inspect to
make sure.

Please, help me to get HW acceleration in webkit.



More information about the gstreamer-devel mailing list