铁友人工客服电话:GStreamer-plugin
来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 23:11:36
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.
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Stefan KostReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail Report Inappropriate Content♦♦♦♦Feb 23, 2011; 7:03pm
On 23.02.2011 00:30, Robert Szelepcsenyi wrote:
> 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 ... [show rest of quote] Please post the whole gst-inspect output here. Is the RANK for the
element >0?
Stefan
> 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.
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel ... [show rest of quote]
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Robert SzelepcsenyiReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail Report Inappropriate Content♦♦♦♦Feb 23, 2011; 7:33pm
>element >0?
Hi Stefan,
The rank is none (0).
Here comes the complete output of "gst-inspect vdpauh264dec":
-------BEGIN-------
Factory Details:
Long name: VDPAU H264 Decoder
Class: Decoder
Description: Decode h264 stream with vdpau
Author(s): Carl-Anton Ingmarsson <[hidden email]>
Rank: none (0)
Plugin Details:
Name: vdpau
Description: Various elements utilizing VDPAU
Filename: /usr/local/lib/gstreamer-0.10/libgstvdpau.so
Version: 0.10.20
License: LGPL
Source module: gst-plugins-bad
Binary package: GStreamer
Origin URL: http://gstreamer.net/
GObject
+----GstObject
+----GstElement
+----SatBaseVideoDecoder
+----GstVdpDecoder
+----GstVdpH264Dec
Pad Templates:
SRC template: 'src'
Availability: Always
Capabilities:
video/x-vdpau-video
chroma-type: 0
width: [ 1, 4096 ]
height: [ 1, 4096 ]
video/x-raw-yuv
format: I420
width: [ 1, 4096 ]
height: [ 1, 4096 ]
video/x-raw-yuv
format: YV12
width: [ 1, 4096 ]
height: [ 1, 4096 ]
video/x-raw-yuv
format: NV12
width: [ 1, 4096 ]
height: [ 1, 4096 ]
SINK template: 'sink'
Availability: Always
Capabilities:
video/x-h264
interlaced: false
Element Flags:
no flags set
Element Implementation:
Has change_state() function: 0x7fbf8381ded0
Has custom save_thyself() function: gst_element_save_thyself
Has custom restore_thyself() function: gst_element_restore_thyself
Element has no clocking capabilities.
Element has no indexing capabilities.
Element has no URI handling capabilities.
Pads:
SRC: 'src'
Implementation:
Has custom eventfunc(): 0x7fbf8381e740
Has custom queryfunc(): 0x7fbf8381e430
Provides query types:
(1): position (Current position)
(2): duration (Total duration)
(8): convert (Converting between formats)
Has getcapsfunc(): gst_pad_get_fixed_caps_func
Has setcapsfunc(): gst_vdp_video_src_pad_setcaps
Has acceptcapsfunc(): gst_pad_acceptcaps_default
Pad Template: 'src'
SINK: 'sink'
Implementation:
Has chainfunc(): 0x7fbf838211e0
Has custom eventfunc(): 0x7fbf8381efb0
Has custom queryfunc(): 0x7fbf8381e690
Has setcapsfunc(): 0x7fbf8381eac0
Has acceptcapsfunc(): gst_pad_acceptcaps_default
Pad Template: 'sink'
Element Properties:
name : The name of the object
flags: readable, writable
String. Default: null Current: "vdph264dec0"
sink-clipping : If enabled GstBaseVideoDecoder will clip outgoing
frames
flags: readable, writable
Boolean. Default: false Current: false
packetized : Whether the incoming data is already packetized into
suitable packets
flags: readable, writable
Boolean. Default: false Current: false
display : X Display name
flags: readable, writable
String. Default: null Current: null
--------END------
Robert Szelepcsényi
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Akihiro TSUKADAReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail Report Inappropriate Content♦♦♦♦Feb 23, 2011; 7:38pm
Have you tried the latest git code?
I'm afraid that it's related to the same problem as the following bugs:
[Bug 642174] [Bug 642433], if the ranks are OK.
regards,
Akihiro
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Philippe NormandReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail Report Inappropriate Content♦♦♦♦Feb 23, 2011; 7:54pm
Have you tried gst-launch with playbin2 ?
Philippe
On Tue, 2011-02-22 at 23:30 +0100, Robert Szelepcsenyi wrote:
> 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.
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> ... [show rest of quote]
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Stefan KostReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail Report Inappropriate Content♦♦♦♦Feb 23, 2011; 8:04pm
>> Please post the whole gst-inspect output here. Is the RANK for the
>> element >0?
> Hi Stefan,
>
>
> The rank is none (0).
rank=0 elements are not auto-plugged. You need to change it in the code
to have e.g. GST_RANK_MARGINAL
Stefan
> Here comes the complete output of "gst-inspect vdpauh264dec":
>
>
> -------BEGIN-------
> Factory Details:
> Long name: VDPAU H264 Decoder
> Class: Decoder
> Description: Decode h264 stream with vdpau
> Author(s): Carl-Anton Ingmarsson <[hidden email]>
> Rank: none (0)
>
> Plugin Details:
> Name: vdpau
> Description: Various elements utilizing VDPAU
> Filename: /usr/local/lib/gstreamer-0.10/libgstvdpau.so
> Version: 0.10.20
> License: LGPL
> Source module: gst-plugins-bad
> Binary package: GStreamer
> Origin URL: http://gstreamer.net/
>
> GObject
> +----GstObject
> +----GstElement
> +----SatBaseVideoDecoder
> +----GstVdpDecoder
> +----GstVdpH264Dec
>
> Pad Templates:
> SRC template: 'src'
> Availability: Always
> Capabilities:
> video/x-vdpau-video
> chroma-type: 0
> width: [ 1, 4096 ]
> height: [ 1, 4096 ]
> video/x-raw-yuv
> format: I420
> width: [ 1, 4096 ]
> height: [ 1, 4096 ]
> video/x-raw-yuv
> format: YV12
> width: [ 1, 4096 ]
> height: [ 1, 4096 ]
> video/x-raw-yuv
> format: NV12
> width: [ 1, 4096 ]
> height: [ 1, 4096 ]
>
> SINK template: 'sink'
> Availability: Always
> Capabilities:
> video/x-h264
> interlaced: false
>
>
> Element Flags:
> no flags set
>
> Element Implementation:
> Has change_state() function: 0x7fbf8381ded0
> Has custom save_thyself() function: gst_element_save_thyself
> Has custom restore_thyself() function: gst_element_restore_thyself
>
> Element has no clocking capabilities.
> Element has no indexing capabilities.
> Element has no URI handling capabilities.
>
> Pads:
> SRC: 'src'
> Implementation:
> Has custom eventfunc(): 0x7fbf8381e740
> Has custom queryfunc(): 0x7fbf8381e430
> Provides query types:
> (1): position (Current position)
> (2): duration (Total duration)
> (8): convert (Converting between formats)
> Has getcapsfunc(): gst_pad_get_fixed_caps_func
> Has setcapsfunc(): gst_vdp_video_src_pad_setcaps
> Has acceptcapsfunc(): gst_pad_acceptcaps_default
> Pad Template: 'src'
> SINK: 'sink'
> Implementation:
> Has chainfunc(): 0x7fbf838211e0
> Has custom eventfunc(): 0x7fbf8381efb0
> Has custom queryfunc(): 0x7fbf8381e690
> Has setcapsfunc(): 0x7fbf8381eac0
> Has acceptcapsfunc(): gst_pad_acceptcaps_default
> Pad Template: 'sink'
>
> Element Properties:
> name : The name of the object
> flags: readable, writable
> String. Default: null Current: "vdph264dec0"
> sink-clipping : If enabled GstBaseVideoDecoder will clip outgoing
> frames
> flags: readable, writable
> Boolean. Default: false Current: false
> packetized : Whether the incoming data is already packetized into
> suitable packets
> flags: readable, writable
> Boolean. Default: false Current: false
> display : X Display name
> flags: readable, writable
> String. Default: null Current: null
>
> --------END------
>
>
> Robert Szelepcsényi
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel ... [show rest of quote]
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Robert SzelepcsenyiReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail Report Inappropriate Content♦♦♦♦Feb 24, 2011; 9:02pm
I have made some progress, but stiall I am unable to get HW accelerated
playback of h264 video in webkit.
I changed the rank of vdpauh264dec to primary (I had some problem with
marginal, which I haven't investigated yet). Now playbin2 can autoplug the
plugin and play a h264 video. I have also tried totem, which is based on
gstreamer. Totem can also open and play h264 files with HW acceleration. So
far no problem.
However, I can't play h264 files in webkit. Just nothing happens. I don't
know, how to debug it. Do you have any idea what to look at?
Should I recompile webkit? I thought this was not necessary.
Robert Szelepcsényi
-----Original Message-----
From: [hidden email]
[mailto:[hidden email]] On
Behalf Of Stefan Kost
Sent: Wednesday, February 23, 2011 1:04 PM
To: [hidden email]
Subject: Re: vdpauh264dec plugin not recognized by playbin
On 23.02.2011 13:33, Robert Szelepcsenyi wrote:
>> Please post the whole gst-inspect output here. Is the RANK for the
>> element >0?
> Hi Stefan,
>
>
> The rank is none (0).
rank=0 elements are not auto-plugged. You need to change it in the code
to have e.g. GST_RANK_MARGINAL
Stefan
> Here comes the complete output of "gst-inspect vdpauh264dec":
>
>
> -------BEGIN-------
> Factory Details:
> Long name: VDPAU H264 Decoder
> Class: Decoder
> Description: Decode h264 stream with vdpau
> Author(s): Carl-Anton Ingmarsson <[hidden email]>
> Rank: none (0)
>
> Plugin Details:
> Name: vdpau
> Description: Various elements utilizing VDPAU
> Filename: /usr/local/lib/gstreamer-0.10/libgstvdpau.so
> Version: 0.10.20
> License: LGPL
> Source module: gst-plugins-bad
> Binary package: GStreamer
> Origin URL: http://gstreamer.net/
>
> GObject
> +----GstObject
> +----GstElement
> +----SatBaseVideoDecoder
> +----GstVdpDecoder
> +----GstVdpH264Dec
>
> Pad Templates:
> SRC template: 'src'
> Availability: Always
> Capabilities:
> video/x-vdpau-video
> chroma-type: 0
> width: [ 1, 4096 ]
> height: [ 1, 4096 ]
> video/x-raw-yuv
> format: I420
> width: [ 1, 4096 ]
> height: [ 1, 4096 ]
> video/x-raw-yuv
> format: YV12
> width: [ 1, 4096 ]
> height: [ 1, 4096 ]
> video/x-raw-yuv
> format: NV12
> width: [ 1, 4096 ]
> height: [ 1, 4096 ]
>
> SINK template: 'sink'
> Availability: Always
> Capabilities:
> video/x-h264
> interlaced: false
>
>
> Element Flags:
> no flags set
>
> Element Implementation:
> Has change_state() function: 0x7fbf8381ded0
> Has custom save_thyself() function: gst_element_save_thyself
> Has custom restore_thyself() function: gst_element_restore_thyself
>
> Element has no clocking capabilities.
> Element has no indexing capabilities.
> Element has no URI handling capabilities.
>
> Pads:
> SRC: 'src'
> Implementation:
> Has custom eventfunc(): 0x7fbf8381e740
> Has custom queryfunc(): 0x7fbf8381e430
> Provides query types:
> (1): position (Current position)
> (2): duration (Total duration)
> (8): convert (Converting between formats)
> Has getcapsfunc(): gst_pad_get_fixed_caps_func
> Has setcapsfunc(): gst_vdp_video_src_pad_setcaps
> Has acceptcapsfunc(): gst_pad_acceptcaps_default
> Pad Template: 'src'
> SINK: 'sink'
> Implementation:
> Has chainfunc(): 0x7fbf838211e0
> Has custom eventfunc(): 0x7fbf8381efb0
> Has custom queryfunc(): 0x7fbf8381e690
> Has setcapsfunc(): 0x7fbf8381eac0
> Has acceptcapsfunc(): gst_pad_acceptcaps_default
> Pad Template: 'sink'
>
> Element Properties:
> name : The name of the object
> flags: readable, writable
> String. Default: null Current: "vdph264dec0"
> sink-clipping : If enabled GstBaseVideoDecoder will clip outgoing
> frames
> flags: readable, writable
> Boolean. Default: false Current: false
> packetized : Whether the incoming data is already packetized ... [show rest of quote] into
> suitable packets
> flags: readable, writable
> Boolean. Default: false Current: false
> display : X Display name
> flags: readable, writable
> String. Default: null Current: null
>
> --------END------
>
>
> Robert Szelepcsényi
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel ... [show rest of quote]
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Philippe NormandReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail Report Inappropriate Content♦♦♦♦Feb 24, 2011; 9:23pm
You might want to try the latest development version, 1.3.12.
A GST_DEBUG log could also help to figure out the issue.
I'll try to setup vdpau on my machine and do some tests here.
Philippe
On Thu, 2011-02-24 at 14:02 +0100, Robert Szelepcsenyi wrote:
> Thanks to all who replied to my post.
>
> I have made some progress, but stiall I am unable to get HW accelerated
> playback of h264 video in webkit.
>
> I changed the rank of vdpauh264dec to primary (I had some problem with
> marginal, which I haven't investigated yet). Now playbin2 can autoplug the
> plugin and play a h264 video. I have also tried totem, which is based on
> gstreamer. Totem can also open and play h264 files with HW acceleration. So
> far no problem.
>
> However, I can't play h264 files in webkit. Just nothing happens. I don't
> know, how to debug it. Do you have any idea what to look at?
>
> Should I recompile webkit? I thought this was not necessary.
>
>
> Robert Szelepcsényi
>
>
>
> -----Original Message-----
> From: [hidden email]
> [mailto:[hidden email]] On
> Behalf Of Stefan Kost
> Sent: Wednesday, February 23, 2011 1:04 PM
> To: [hidden email]
> Subject: Re: vdpauh264dec plugin not recognized by playbin
>
> On 23.02.2011 13:33, Robert Szelepcsenyi wrote:
> >> Please post the whole gst-inspect output here. Is the RANK for the
> >> element >0?
> > Hi Stefan,
> >
> >
> > The rank is none (0).
> rank=0 elements are not auto-plugged. You need to change it in the code
> to have e.g. GST_RANK_MARGINAL
>
> Stefan
>
> > Here comes the complete output of "gst-inspect vdpauh264dec":
> >
> >
> > -------BEGIN-------
> > Factory Details:
> > Long name: VDPAU H264 Decoder
> > Class: Decoder
> > Description: Decode h264 stream with vdpau
> > Author(s): Carl-Anton Ingmarsson <[hidden email]>
> > Rank: none (0)
> >
> > Plugin Details:
> > Name: vdpau
> > Description: Various elements utilizing VDPAU
> > Filename: /usr/local/lib/gstreamer-0.10/libgstvdpau.so
> > Version: 0.10.20
> > License: LGPL
> > Source module: gst-plugins-bad
> > Binary package: GStreamer
> > Origin URL: http://gstreamer.net/
> >
> > GObject
> > +----GstObject
> > +----GstElement
> > +----SatBaseVideoDecoder
> > +----GstVdpDecoder
> > +----GstVdpH264Dec
> >
> > Pad Templates:
> > SRC template: 'src'
> > Availability: Always
> > Capabilities:
> > video/x-vdpau-video
> > chroma-type: 0
> > width: [ 1, 4096 ]
> > height: [ 1, 4096 ]
> > video/x-raw-yuv
> > format: I420
> > width: [ 1, 4096 ]
> > height: [ 1, 4096 ]
> > video/x-raw-yuv
> > format: YV12
> > width: [ 1, 4096 ]
> > height: [ 1, 4096 ]
> > video/x-raw-yuv
> > format: NV12
> > width: [ 1, 4096 ]
> > height: [ 1, 4096 ]
> >
> > SINK template: 'sink'
> > Availability: Always
> > Capabilities:
> > video/x-h264
> > interlaced: false
> >
> >
> > Element Flags:
> > no flags set
> >
> > Element Implementation:
> > Has change_state() function: 0x7fbf8381ded0
> > Has custom save_thyself() function: gst_element_save_thyself
> > Has custom restore_thyself() function: gst_element_restore_thyself
> >
> > Element has no clocking capabilities.
> > Element has no indexing capabilities.
> > Element has no URI handling capabilities.
> >
> > Pads:
> > SRC: 'src'
> > Implementation:
> > Has custom eventfunc(): 0x7fbf8381e740
> > Has custom queryfunc(): 0x7fbf8381e430
> > Provides query types:
> > (1): position (Current position)
> > (2): duration (Total duration)
> > (8): convert (Converting between formats)
> > Has getcapsfunc(): gst_pad_get_fixed_caps_func
> > Has setcapsfunc(): gst_vdp_video_src_pad_setcaps
> > Has acceptcapsfunc(): gst_pad_acceptcaps_default
> > Pad Template: 'src'
> > SINK: 'sink'
> > Implementation:
> > Has chainfunc(): 0x7fbf838211e0
> > Has custom eventfunc(): 0x7fbf8381efb0
> > Has custom queryfunc(): 0x7fbf8381e690
> > Has setcapsfunc(): 0x7fbf8381eac0
> > Has acceptcapsfunc(): gst_pad_acceptcaps_default
> > Pad Template: 'sink'
> >
> > Element Properties:
> > name : The name of the object
> > flags: readable, writable
> > String. Default: null Current: "vdph264dec0"
> > sink-clipping : If enabled GstBaseVideoDecoder will clip outgoing
> > frames
> > flags: readable, writable
> > Boolean. Default: false Current: false
> > packetized : Whether the incoming data is already packetized
> into
> > suitable packets
> > flags: readable, writable
> > Boolean. Default: false Current: false
> > display : X Display name
> > flags: readable, writable
> > String. Default: null Current: null
> >
> > --------END------
> >
> >
> > Robert Szelepcsényi
> >
> > _______________________________________________
> > gstreamer-devel mailing list
> > [hidden email]
> > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> ... [show rest of quote]
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Philippe NormandReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail Report Inappropriate Content♦♦♦♦Feb 24, 2011; 10:02pm
I see you need to use a postprocess element and the vdpausink to render
video with VDPAU acceleration, I guess the WebKit video-sink would need
adaptations...
My knowledge of VDPAU is very limited, but I think that even if you
manage to get the vdpauh264dec element used by playbin2 you'd still need
to hook in the vdpauvideopostprocess ! vdpausink part.
Got this working with gst-launch:
gst-launch playbin2 uri=file://$HOME/101_ice_age_2-tlrD_h1080p.mov
video-sink="vdpauvideopostprocess ! vdpausink"
Philippe
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Zhao, HalleyReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail Report Inappropriate Content♦♦♦♦Mar 21, 2011; 4:50pm
Playbin2 works because:
Playbin2 find vdpausink in autoplug_select_cb() with "GST_AUTOPLUG_SELECT_EXPOSE" as return value
Playbin2 use sink from auto-plug (vdpausink) instead of sink from 'video-sink' property in no_more_pads_cb. -- your customized sink isn't used.
https://bugzilla.gnome.org/show_bug.cgi?id=624699
https://bugzilla.gnome.org/show_bug.cgi?id=624697
I suggest add 'caps' property of playbin2 to let app control it.
There is another work around to get decodebin2 from playbin2 and change the 'caps' property.
-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of Philippe Normand
Sent: Thursday, February 24, 2011 10:03 PM
To: Discussion of the development of and with GStreamer
Subject: RE: vdpauh264dec plugin not recognized by playbin
BTW WebKit uses a custom video sink to render frames to a Cairo surface.
I see you need to use a postprocess element and the vdpausink to render
video with VDPAU acceleration, I guess the WebKit video-sink would need
adaptations...
My knowledge of VDPAU is very limited, but I think that even if you
manage to get the vdpauh264dec element used by playbin2 you'd still need
to hook in the vdpauvideopostprocess ! vdpausink part.
Got this working with gst-launch:
gst-launch playbin2 uri=file://$HOME/101_ice_age_2-tlrD_h1080p.mov
video-sink="vdpauvideopostprocess ! vdpausink"
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.
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Stefan KostReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail Report Inappropriate Content♦♦♦♦Feb 23, 2011; 7:03pm
Re: vdpauh264dec plugin not recognized by playbin
898 posts hi,On 23.02.2011 00:30, Robert Szelepcsenyi wrote:
> 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 ... [show rest of quote] Please post the whole gst-inspect output here. Is the RANK for the
element >0?
Stefan
> 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.
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel ... [show rest of quote]
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Robert SzelepcsenyiReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail Report Inappropriate Content♦♦♦♦Feb 23, 2011; 7:33pm
RE: vdpauh264dec plugin not recognized by playbin
4 posts >Please post the whole gst-inspect output here. Is the RANK for the>element >0?
Hi Stefan,
The rank is none (0).
Here comes the complete output of "gst-inspect vdpauh264dec":
-------BEGIN-------
Factory Details:
Long name: VDPAU H264 Decoder
Class: Decoder
Description: Decode h264 stream with vdpau
Author(s): Carl-Anton Ingmarsson <[hidden email]>
Rank: none (0)
Plugin Details:
Name: vdpau
Description: Various elements utilizing VDPAU
Filename: /usr/local/lib/gstreamer-0.10/libgstvdpau.so
Version: 0.10.20
License: LGPL
Source module: gst-plugins-bad
Binary package: GStreamer
Origin URL: http://gstreamer.net/
GObject
+----GstObject
+----GstElement
+----SatBaseVideoDecoder
+----GstVdpDecoder
+----GstVdpH264Dec
Pad Templates:
SRC template: 'src'
Availability: Always
Capabilities:
video/x-vdpau-video
chroma-type: 0
width: [ 1, 4096 ]
height: [ 1, 4096 ]
video/x-raw-yuv
format: I420
width: [ 1, 4096 ]
height: [ 1, 4096 ]
video/x-raw-yuv
format: YV12
width: [ 1, 4096 ]
height: [ 1, 4096 ]
video/x-raw-yuv
format: NV12
width: [ 1, 4096 ]
height: [ 1, 4096 ]
SINK template: 'sink'
Availability: Always
Capabilities:
video/x-h264
interlaced: false
Element Flags:
no flags set
Element Implementation:
Has change_state() function: 0x7fbf8381ded0
Has custom save_thyself() function: gst_element_save_thyself
Has custom restore_thyself() function: gst_element_restore_thyself
Element has no clocking capabilities.
Element has no indexing capabilities.
Element has no URI handling capabilities.
Pads:
SRC: 'src'
Implementation:
Has custom eventfunc(): 0x7fbf8381e740
Has custom queryfunc(): 0x7fbf8381e430
Provides query types:
(1): position (Current position)
(2): duration (Total duration)
(8): convert (Converting between formats)
Has getcapsfunc(): gst_pad_get_fixed_caps_func
Has setcapsfunc(): gst_vdp_video_src_pad_setcaps
Has acceptcapsfunc(): gst_pad_acceptcaps_default
Pad Template: 'src'
SINK: 'sink'
Implementation:
Has chainfunc(): 0x7fbf838211e0
Has custom eventfunc(): 0x7fbf8381efb0
Has custom queryfunc(): 0x7fbf8381e690
Has setcapsfunc(): 0x7fbf8381eac0
Has acceptcapsfunc(): gst_pad_acceptcaps_default
Pad Template: 'sink'
Element Properties:
name : The name of the object
flags: readable, writable
String. Default: null Current: "vdph264dec0"
sink-clipping : If enabled GstBaseVideoDecoder will clip outgoing
frames
flags: readable, writable
Boolean. Default: false Current: false
packetized : Whether the incoming data is already packetized into
suitable packets
flags: readable, writable
Boolean. Default: false Current: false
display : X Display name
flags: readable, writable
String. Default: null Current: null
--------END------
Robert Szelepcsényi
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Akihiro TSUKADAReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail Report Inappropriate Content♦♦♦♦Feb 23, 2011; 7:38pm
Re: vdpauh264dec plugin not recognized by playbin
7 posts In reply to this post by Robert Szelepcsenyi hi,Have you tried the latest git code?
I'm afraid that it's related to the same problem as the following bugs:
[Bug 642174] [Bug 642433], if the ranks are OK.
regards,
Akihiro
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Philippe NormandReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail Report Inappropriate Content♦♦♦♦Feb 23, 2011; 7:54pm
Re: vdpauh264dec plugin not recognized by playbin
7 posts In reply to this post by Robert Szelepcsenyi The GStreamer media-player in WebKit uses playbin2, not playbin.Have you tried gst-launch with playbin2 ?
Philippe
On Tue, 2011-02-22 at 23:30 +0100, Robert Szelepcsenyi wrote:
> 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.
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> ... [show rest of quote]
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Stefan KostReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail Report Inappropriate Content♦♦♦♦Feb 23, 2011; 8:04pm
Re: vdpauh264dec plugin not recognized by playbin
898 posts In reply to this post by Robert Szelepcsenyi On 23.02.2011 13:33, Robert Szelepcsenyi wrote:>> Please post the whole gst-inspect output here. Is the RANK for the
>> element >0?
> Hi Stefan,
>
>
> The rank is none (0).
rank=0 elements are not auto-plugged. You need to change it in the code
to have e.g. GST_RANK_MARGINAL
Stefan
> Here comes the complete output of "gst-inspect vdpauh264dec":
>
>
> -------BEGIN-------
> Factory Details:
> Long name: VDPAU H264 Decoder
> Class: Decoder
> Description: Decode h264 stream with vdpau
> Author(s): Carl-Anton Ingmarsson <[hidden email]>
> Rank: none (0)
>
> Plugin Details:
> Name: vdpau
> Description: Various elements utilizing VDPAU
> Filename: /usr/local/lib/gstreamer-0.10/libgstvdpau.so
> Version: 0.10.20
> License: LGPL
> Source module: gst-plugins-bad
> Binary package: GStreamer
> Origin URL: http://gstreamer.net/
>
> GObject
> +----GstObject
> +----GstElement
> +----SatBaseVideoDecoder
> +----GstVdpDecoder
> +----GstVdpH264Dec
>
> Pad Templates:
> SRC template: 'src'
> Availability: Always
> Capabilities:
> video/x-vdpau-video
> chroma-type: 0
> width: [ 1, 4096 ]
> height: [ 1, 4096 ]
> video/x-raw-yuv
> format: I420
> width: [ 1, 4096 ]
> height: [ 1, 4096 ]
> video/x-raw-yuv
> format: YV12
> width: [ 1, 4096 ]
> height: [ 1, 4096 ]
> video/x-raw-yuv
> format: NV12
> width: [ 1, 4096 ]
> height: [ 1, 4096 ]
>
> SINK template: 'sink'
> Availability: Always
> Capabilities:
> video/x-h264
> interlaced: false
>
>
> Element Flags:
> no flags set
>
> Element Implementation:
> Has change_state() function: 0x7fbf8381ded0
> Has custom save_thyself() function: gst_element_save_thyself
> Has custom restore_thyself() function: gst_element_restore_thyself
>
> Element has no clocking capabilities.
> Element has no indexing capabilities.
> Element has no URI handling capabilities.
>
> Pads:
> SRC: 'src'
> Implementation:
> Has custom eventfunc(): 0x7fbf8381e740
> Has custom queryfunc(): 0x7fbf8381e430
> Provides query types:
> (1): position (Current position)
> (2): duration (Total duration)
> (8): convert (Converting between formats)
> Has getcapsfunc(): gst_pad_get_fixed_caps_func
> Has setcapsfunc(): gst_vdp_video_src_pad_setcaps
> Has acceptcapsfunc(): gst_pad_acceptcaps_default
> Pad Template: 'src'
> SINK: 'sink'
> Implementation:
> Has chainfunc(): 0x7fbf838211e0
> Has custom eventfunc(): 0x7fbf8381efb0
> Has custom queryfunc(): 0x7fbf8381e690
> Has setcapsfunc(): 0x7fbf8381eac0
> Has acceptcapsfunc(): gst_pad_acceptcaps_default
> Pad Template: 'sink'
>
> Element Properties:
> name : The name of the object
> flags: readable, writable
> String. Default: null Current: "vdph264dec0"
> sink-clipping : If enabled GstBaseVideoDecoder will clip outgoing
> frames
> flags: readable, writable
> Boolean. Default: false Current: false
> packetized : Whether the incoming data is already packetized into
> suitable packets
> flags: readable, writable
> Boolean. Default: false Current: false
> display : X Display name
> flags: readable, writable
> String. Default: null Current: null
>
> --------END------
>
>
> Robert Szelepcsényi
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel ... [show rest of quote]
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Robert SzelepcsenyiReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail Report Inappropriate Content♦♦♦♦Feb 24, 2011; 9:02pm
RE: vdpauh264dec plugin not recognized by playbin
4 posts Thanks to all who replied to my post.I have made some progress, but stiall I am unable to get HW accelerated
playback of h264 video in webkit.
I changed the rank of vdpauh264dec to primary (I had some problem with
marginal, which I haven't investigated yet). Now playbin2 can autoplug the
plugin and play a h264 video. I have also tried totem, which is based on
gstreamer. Totem can also open and play h264 files with HW acceleration. So
far no problem.
However, I can't play h264 files in webkit. Just nothing happens. I don't
know, how to debug it. Do you have any idea what to look at?
Should I recompile webkit? I thought this was not necessary.
Robert Szelepcsényi
-----Original Message-----
From: [hidden email]
[mailto:[hidden email]] On
Behalf Of Stefan Kost
Sent: Wednesday, February 23, 2011 1:04 PM
To: [hidden email]
Subject: Re: vdpauh264dec plugin not recognized by playbin
On 23.02.2011 13:33, Robert Szelepcsenyi wrote:
>> Please post the whole gst-inspect output here. Is the RANK for the
>> element >0?
> Hi Stefan,
>
>
> The rank is none (0).
rank=0 elements are not auto-plugged. You need to change it in the code
to have e.g. GST_RANK_MARGINAL
Stefan
> Here comes the complete output of "gst-inspect vdpauh264dec":
>
>
> -------BEGIN-------
> Factory Details:
> Long name: VDPAU H264 Decoder
> Class: Decoder
> Description: Decode h264 stream with vdpau
> Author(s): Carl-Anton Ingmarsson <[hidden email]>
> Rank: none (0)
>
> Plugin Details:
> Name: vdpau
> Description: Various elements utilizing VDPAU
> Filename: /usr/local/lib/gstreamer-0.10/libgstvdpau.so
> Version: 0.10.20
> License: LGPL
> Source module: gst-plugins-bad
> Binary package: GStreamer
> Origin URL: http://gstreamer.net/
>
> GObject
> +----GstObject
> +----GstElement
> +----SatBaseVideoDecoder
> +----GstVdpDecoder
> +----GstVdpH264Dec
>
> Pad Templates:
> SRC template: 'src'
> Availability: Always
> Capabilities:
> video/x-vdpau-video
> chroma-type: 0
> width: [ 1, 4096 ]
> height: [ 1, 4096 ]
> video/x-raw-yuv
> format: I420
> width: [ 1, 4096 ]
> height: [ 1, 4096 ]
> video/x-raw-yuv
> format: YV12
> width: [ 1, 4096 ]
> height: [ 1, 4096 ]
> video/x-raw-yuv
> format: NV12
> width: [ 1, 4096 ]
> height: [ 1, 4096 ]
>
> SINK template: 'sink'
> Availability: Always
> Capabilities:
> video/x-h264
> interlaced: false
>
>
> Element Flags:
> no flags set
>
> Element Implementation:
> Has change_state() function: 0x7fbf8381ded0
> Has custom save_thyself() function: gst_element_save_thyself
> Has custom restore_thyself() function: gst_element_restore_thyself
>
> Element has no clocking capabilities.
> Element has no indexing capabilities.
> Element has no URI handling capabilities.
>
> Pads:
> SRC: 'src'
> Implementation:
> Has custom eventfunc(): 0x7fbf8381e740
> Has custom queryfunc(): 0x7fbf8381e430
> Provides query types:
> (1): position (Current position)
> (2): duration (Total duration)
> (8): convert (Converting between formats)
> Has getcapsfunc(): gst_pad_get_fixed_caps_func
> Has setcapsfunc(): gst_vdp_video_src_pad_setcaps
> Has acceptcapsfunc(): gst_pad_acceptcaps_default
> Pad Template: 'src'
> SINK: 'sink'
> Implementation:
> Has chainfunc(): 0x7fbf838211e0
> Has custom eventfunc(): 0x7fbf8381efb0
> Has custom queryfunc(): 0x7fbf8381e690
> Has setcapsfunc(): 0x7fbf8381eac0
> Has acceptcapsfunc(): gst_pad_acceptcaps_default
> Pad Template: 'sink'
>
> Element Properties:
> name : The name of the object
> flags: readable, writable
> String. Default: null Current: "vdph264dec0"
> sink-clipping : If enabled GstBaseVideoDecoder will clip outgoing
> frames
> flags: readable, writable
> Boolean. Default: false Current: false
> packetized : Whether the incoming data is already packetized ... [show rest of quote] into
> suitable packets
> flags: readable, writable
> Boolean. Default: false Current: false
> display : X Display name
> flags: readable, writable
> String. Default: null Current: null
>
> --------END------
>
>
> Robert Szelepcsényi
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel ... [show rest of quote]
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Philippe NormandReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail Report Inappropriate Content♦♦♦♦Feb 24, 2011; 9:23pm
RE: vdpauh264dec plugin not recognized by playbin
7 posts What version of WebKit are you using?You might want to try the latest development version, 1.3.12.
A GST_DEBUG log could also help to figure out the issue.
I'll try to setup vdpau on my machine and do some tests here.
Philippe
On Thu, 2011-02-24 at 14:02 +0100, Robert Szelepcsenyi wrote:
> Thanks to all who replied to my post.
>
> I have made some progress, but stiall I am unable to get HW accelerated
> playback of h264 video in webkit.
>
> I changed the rank of vdpauh264dec to primary (I had some problem with
> marginal, which I haven't investigated yet). Now playbin2 can autoplug the
> plugin and play a h264 video. I have also tried totem, which is based on
> gstreamer. Totem can also open and play h264 files with HW acceleration. So
> far no problem.
>
> However, I can't play h264 files in webkit. Just nothing happens. I don't
> know, how to debug it. Do you have any idea what to look at?
>
> Should I recompile webkit? I thought this was not necessary.
>
>
> Robert Szelepcsényi
>
>
>
> -----Original Message-----
> From: [hidden email]
> [mailto:[hidden email]] On
> Behalf Of Stefan Kost
> Sent: Wednesday, February 23, 2011 1:04 PM
> To: [hidden email]
> Subject: Re: vdpauh264dec plugin not recognized by playbin
>
> On 23.02.2011 13:33, Robert Szelepcsenyi wrote:
> >> Please post the whole gst-inspect output here. Is the RANK for the
> >> element >0?
> > Hi Stefan,
> >
> >
> > The rank is none (0).
> rank=0 elements are not auto-plugged. You need to change it in the code
> to have e.g. GST_RANK_MARGINAL
>
> Stefan
>
> > Here comes the complete output of "gst-inspect vdpauh264dec":
> >
> >
> > -------BEGIN-------
> > Factory Details:
> > Long name: VDPAU H264 Decoder
> > Class: Decoder
> > Description: Decode h264 stream with vdpau
> > Author(s): Carl-Anton Ingmarsson <[hidden email]>
> > Rank: none (0)
> >
> > Plugin Details:
> > Name: vdpau
> > Description: Various elements utilizing VDPAU
> > Filename: /usr/local/lib/gstreamer-0.10/libgstvdpau.so
> > Version: 0.10.20
> > License: LGPL
> > Source module: gst-plugins-bad
> > Binary package: GStreamer
> > Origin URL: http://gstreamer.net/
> >
> > GObject
> > +----GstObject
> > +----GstElement
> > +----SatBaseVideoDecoder
> > +----GstVdpDecoder
> > +----GstVdpH264Dec
> >
> > Pad Templates:
> > SRC template: 'src'
> > Availability: Always
> > Capabilities:
> > video/x-vdpau-video
> > chroma-type: 0
> > width: [ 1, 4096 ]
> > height: [ 1, 4096 ]
> > video/x-raw-yuv
> > format: I420
> > width: [ 1, 4096 ]
> > height: [ 1, 4096 ]
> > video/x-raw-yuv
> > format: YV12
> > width: [ 1, 4096 ]
> > height: [ 1, 4096 ]
> > video/x-raw-yuv
> > format: NV12
> > width: [ 1, 4096 ]
> > height: [ 1, 4096 ]
> >
> > SINK template: 'sink'
> > Availability: Always
> > Capabilities:
> > video/x-h264
> > interlaced: false
> >
> >
> > Element Flags:
> > no flags set
> >
> > Element Implementation:
> > Has change_state() function: 0x7fbf8381ded0
> > Has custom save_thyself() function: gst_element_save_thyself
> > Has custom restore_thyself() function: gst_element_restore_thyself
> >
> > Element has no clocking capabilities.
> > Element has no indexing capabilities.
> > Element has no URI handling capabilities.
> >
> > Pads:
> > SRC: 'src'
> > Implementation:
> > Has custom eventfunc(): 0x7fbf8381e740
> > Has custom queryfunc(): 0x7fbf8381e430
> > Provides query types:
> > (1): position (Current position)
> > (2): duration (Total duration)
> > (8): convert (Converting between formats)
> > Has getcapsfunc(): gst_pad_get_fixed_caps_func
> > Has setcapsfunc(): gst_vdp_video_src_pad_setcaps
> > Has acceptcapsfunc(): gst_pad_acceptcaps_default
> > Pad Template: 'src'
> > SINK: 'sink'
> > Implementation:
> > Has chainfunc(): 0x7fbf838211e0
> > Has custom eventfunc(): 0x7fbf8381efb0
> > Has custom queryfunc(): 0x7fbf8381e690
> > Has setcapsfunc(): 0x7fbf8381eac0
> > Has acceptcapsfunc(): gst_pad_acceptcaps_default
> > Pad Template: 'sink'
> >
> > Element Properties:
> > name : The name of the object
> > flags: readable, writable
> > String. Default: null Current: "vdph264dec0"
> > sink-clipping : If enabled GstBaseVideoDecoder will clip outgoing
> > frames
> > flags: readable, writable
> > Boolean. Default: false Current: false
> > packetized : Whether the incoming data is already packetized
> into
> > suitable packets
> > flags: readable, writable
> > Boolean. Default: false Current: false
> > display : X Display name
> > flags: readable, writable
> > String. Default: null Current: null
> >
> > --------END------
> >
> >
> > Robert Szelepcsényi
> >
> > _______________________________________________
> > gstreamer-devel mailing list
> > [hidden email]
> > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> ... [show rest of quote]
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Philippe NormandReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail Report Inappropriate Content♦♦♦♦Feb 24, 2011; 10:02pm
RE: vdpauh264dec plugin not recognized by playbin
7 posts BTW WebKit uses a custom video sink to render frames to a Cairo surface.I see you need to use a postprocess element and the vdpausink to render
video with VDPAU acceleration, I guess the WebKit video-sink would need
adaptations...
My knowledge of VDPAU is very limited, but I think that even if you
manage to get the vdpauh264dec element used by playbin2 you'd still need
to hook in the vdpauvideopostprocess ! vdpausink part.
Got this working with gst-launch:
gst-launch playbin2 uri=file://$HOME/101_ice_age_2-tlrD_h1080p.mov
video-sink="vdpauvideopostprocess ! vdpausink"
Philippe
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Zhao, HalleyReply |ThreadedOpen this post in threaded view♦♦|More Loading... Reply to author Edit post Move post Delete this post Delete this post and replies Change post date Print post Permalink Raw mail Report Inappropriate Content♦♦♦♦Mar 21, 2011; 4:50pm
RE: vdpauh264dec plugin not recognized by playbin
71 posts It is caused by decodebin2 doesn't expose VDPAU output as a raw caps to terminate auto-plug.Playbin2 works because:
Playbin2 find vdpausink in autoplug_select_cb() with "GST_AUTOPLUG_SELECT_EXPOSE" as return value
Playbin2 use sink from auto-plug (vdpausink) instead of sink from 'video-sink' property in no_more_pads_cb. -- your customized sink isn't used.
https://bugzilla.gnome.org/show_bug.cgi?id=624699
https://bugzilla.gnome.org/show_bug.cgi?id=624697
I suggest add 'caps' property of playbin2 to let app control it.
There is another work around to get decodebin2 from playbin2 and change the 'caps' property.
-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of Philippe Normand
Sent: Thursday, February 24, 2011 10:03 PM
To: Discussion of the development of and with GStreamer
Subject: RE: vdpauh264dec plugin not recognized by playbin
BTW WebKit uses a custom video sink to render frames to a Cairo surface.
I see you need to use a postprocess element and the vdpausink to render
video with VDPAU acceleration, I guess the WebKit video-sink would need
adaptations...
My knowledge of VDPAU is very limited, but I think that even if you
manage to get the vdpauh264dec element used by playbin2 you'd still need
to hook in the vdpauvideopostprocess ! vdpausink part.
Got this working with gst-launch:
gst-launch playbin2 uri=file://$HOME/101_ice_age_2-tlrD_h1080p.mov
video-sink="vdpauvideopostprocess ! vdpausink"