Intel GPU hardware acceleration + cluttersink

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Intel GPU hardware acceleration + cluttersink

horai
Dear all,

Today I tried to modify my current Gstreamer pipeline:
sudo gst-launch-1.0 -v udpsrc port=5000 caps="application/x-rtp,
media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264" !
rtph264depay ! h264parse ! avdec_h264 ! autovideosink sync=false

I wanted to replace software avdec_h264 encoder with INTEL Vaapi hardware
encoding plugin 'vaapiencode'
The new pipeline should look like this:
gst-launch-1.0 -v udpsrc port=5000 caps="application/x-rtp,
media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264" !
rtph264depay ! h264parse ! vaapidecode ! videoconvert ! cluttersink
sync=false
I guess the caps are compatible.

But it yields this message and I cannot run the video:
WARNING: erroneous pipeline: could not link videoconvert0 to
cluttergstvideosink0

According to this page it should work:
http://gstreamer-devel.966125.n4.nabble.com/vaapidecode-to-xvimagesink-td4664635.html

Does anyone know what I am doing wrong.
I have version:
Provides:
1.2.4-0ubuntu1.1 -
1.2.3-1 -

Thank you very much




--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Intel GPU hardware acceleration + cluttersink

Nicolas Dufresne-5
Le lundi 02 octobre 2017 à 15:05 -0700, horai a écrit :

> Today I tried to modify my current Gstreamer pipeline:
> sudo gst-launch-1.0 -v udpsrc port=5000 caps="application/x-rtp,
> media=(string)video, clock-rate=(int)90000, encoding-
> name=(string)H264" !
> rtph264depay ! h264parse ! avdec_h264 ! autovideosink sync=false
>
> I wanted to replace software avdec_h264 encoder with INTEL Vaapi
> hardware
> encoding plugin 'vaapiencode'
> The new pipeline should look like this:
> gst-launch-1.0 -v udpsrc port=5000 caps="application/x-rtp,
> media=(string)video, clock-rate=(int)90000, encoding-
> name=(string)H264" !
> rtph264depay ! h264parse ! vaapidecode ! videoconvert ! cluttersink
> sync=false
> I guess the caps are compatible.
>
> But it yields this message and I cannot run the video:
> WARNING: erroneous pipeline: could not link videoconvert0 to
> cluttergstvideosink0
>
> According to this page it should work:
> http://gstreamer-devel.966125.n4.nabble.com/vaapidecode-to-xvimagesin
> k-td4664635.html
>
> Does anyone know what I am doing wrong.
> I have version:
> Provides:
> 1.2.4-0ubuntu1.1 -
> 1.2.3-1 -

That is quite ancient, you will be lukcly if that works. In general
though, you may need vaapipostproc element to convert the vaapi output
to something you can read from the CPU.
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Intel GPU hardware acceleration + cluttersink

horai
Hello,

you mean the Gstreamer version is ancient or the way of using Vaapi in
general is ancient?
I am just using the stuff available in repository of Ubuntu 14.04, anyway, I
also tried vaapipostproc before sending the first post but with the same
problem and I haven't seen much use of element vaapipostproc and I guess it
does image postprocessing only, not really necessary to do, so therefore
could be omitted, but maybe I am wrong, anyway I do not know how to run it.
Do you suggest to install newer version of Gstreamer? But I don't understand
the reason why all that vaapi stuff related to Gstreamer is in repository.

Best regards,
Ivo



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Intel GPU hardware acceleration + cluttersink

horai
Just to now I tried vaapisink before, of course that works (probably that is
"default" sink for vaapi), but due to my application for Raspberry already
developed in clutter, I would like to keep the code as similar as possible
for maintenance purpose. I don't want to use vaapisink as I have cluttersink
integrated with GTK and GST, if anyone has experience integrating vaapisink
in CLUTTER, or in GTK + GST, any info would be very useful.





--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Intel GPU hardware acceleration + cluttersink

Nicolas Dufresne-5
Le mardi 03 octobre 2017 à 10:10 -0700, horai a écrit :
> Just to now I tried vaapisink before, of course that works (probably that is
> "default" sink for vaapi), but due to my application for Raspberry already
> developed in clutter, I would like to keep the code as similar as possible
> for maintenance purpose. I don't want to use vaapisink as I have cluttersink
> integrated with GTK and GST, if anyone has experience integrating vaapisink
> in CLUTTER, or in GTK + GST, any info would be very useful.

I thought "autocluttersink" was able to proxy vaapisink, but I'm not
sure how this work. Clutter Sink is out of tree, I never really got
involved in the design and the move to autocluttersink rather then
cluttersink.

>
>
>
>
>
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Intel GPU hardware acceleration + cluttersink

horai
Actually, I also tried autocluttersink and it does not work either, I am
using cluttersink on Raspberry and I achieve far better results, it's very
very fast on top of X org compared to other sinks (for example: gleglessink
sink), talking about Xorg, without X backend I was using fbdevsink, but I
don't know how to create any GUI controls together with fbdevsink, I doubt
it's even possible



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Intel GPU hardware acceleration + cluttersink

Victor Jaquez
In reply to this post by horai
On Tue, 03 Oct 2017 at 10:10, horai wrote:
> Just to now I tried vaapisink before, of course that works (probably that is
> "default" sink for vaapi), but due to my application for Raspberry already
> developed in clutter, I would like to keep the code as similar as possible
> for maintenance purpose. I don't want to use vaapisink as I have cluttersink
> integrated with GTK and GST, if anyone has experience integrating vaapisink
> in CLUTTER, or in GTK + GST, any info would be very useful.

I'm not aware of a VAAPI backend for Raspberry. As far as I know there is
none, thus you couldn't decode video using using any gstreamer-vaapi elements in
a Raspberry.

You can integrate vaapisink, as a X video overlay, in a GTK+ widget, if you
don't require Clutter actions/transformations.

vmjl
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Intel GPU hardware acceleration + cluttersink

horai
Actually, I am not using Vaapi on Gstreamer, I guess Vaapi is a hardware
acceleration layer to utilize Intel HD GPU to decode H264. On Raspberry I am
using OMX sinking to accelerated cluttersink.
I want to achieve the same on Intel CPU (GPU). I guesss it should be very
eficient using Vaapi hardware decoding and cluttersink hardware rendering,
but if I am talking wrong, please let me know.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel